Re: [PATCH 6/7] psi: pressure stall information for CPU, memory, and IO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Johannes,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc4]
[cannot apply to next-20180507]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Johannes-Weiner/mm-workingset-don-t-drop-refault-information-prematurely/20180508-081214
config: i386-randconfig-x073-201818 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   In file included from kernel/sched/sched.h:1317:0,
                    from kernel/sched/core.c:8:
>> kernel/sched/stats.h:126:1: error: expected identifier or '(' before '{' token
    {
    ^

vim +126 kernel/sched/stats.h

    57	
    58	#ifdef CONFIG_PSI
    59	/*
    60	 * PSI tracks state that persists across sleeps, such as iowaits and
    61	 * memory stalls. As a result, it has to distinguish between sleeps,
    62	 * where a task's runnable state changes, and requeues, where a task
    63	 * and its state are being moved between CPUs and runqueues.
    64	 */
    65	static inline void psi_enqueue(struct task_struct *p, u64 now)
    66	{
    67		int clear = 0, set = TSK_RUNNING;
    68	
    69		if (p->state == TASK_RUNNING || p->sched_psi_wake_requeue) {
    70			if (p->flags & PF_MEMSTALL)
    71				set |= TSK_MEMSTALL;
    72			p->sched_psi_wake_requeue = 0;
    73		} else {
    74			if (p->in_iowait)
    75				clear |= TSK_IOWAIT;
    76		}
    77	
    78		psi_task_change(p, now, clear, set);
    79	}
    80	static inline void psi_dequeue(struct task_struct *p, u64 now)
    81	{
    82		int clear = TSK_RUNNING, set = 0;
    83	
    84		if (p->state == TASK_RUNNING) {
    85			if (p->flags & PF_MEMSTALL)
    86				clear |= TSK_MEMSTALL;
    87		} else {
    88			if (p->in_iowait)
    89				set |= TSK_IOWAIT;
    90		}
    91	
    92		psi_task_change(p, now, clear, set);
    93	}
    94	static inline void psi_ttwu_dequeue(struct task_struct *p)
    95	{
    96		/*
    97		 * Is the task being migrated during a wakeup? Make sure to
    98		 * deregister its sleep-persistent psi states from the old
    99		 * queue, and let psi_enqueue() know it has to requeue.
   100		 */
   101		if (unlikely(p->in_iowait || (p->flags & PF_MEMSTALL))) {
   102			struct rq_flags rf;
   103			struct rq *rq;
   104			int clear = 0;
   105	
   106			if (p->in_iowait)
   107				clear |= TSK_IOWAIT;
   108			if (p->flags & PF_MEMSTALL)
   109				clear |= TSK_MEMSTALL;
   110	
   111			rq = __task_rq_lock(p, &rf);
   112			update_rq_clock(rq);
   113			psi_task_change(p, rq_clock(rq), clear, 0);
   114			p->sched_psi_wake_requeue = 1;
   115			__task_rq_unlock(rq, &rf);
   116		}
   117	}
   118	#else /* CONFIG_PSI */
   119	static inline void psi_enqueue(struct task_struct *p, u64 now)
   120	{
   121	}
   122	static inline void psi_dequeue(struct task_struct *p, u64 now)
   123	{
   124	}
   125	static inline void psi_ttwu_dequeue(struct task_struct *p) {}
 > 126	{
   127	}
   128	#endif /* CONFIG_PSI */
   129	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux