[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201805080952.2yQWmzU2%fengguang.wu@intel.com>
Date: Tue, 8 May 2018 11:04:09 +0800
From: kbuild test robot <lkp@...el.com>
To: Johannes Weiner <hannes@...xchg.org>
Cc: kbuild-all@...org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, linux-block@...r.kernel.org,
cgroups@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Andrew Morton <akpm@...uxfoundation.org>,
Tejun Heo <tj@...nel.org>,
Balbir Singh <bsingharora@...il.com>,
Mike Galbraith <efault@....de>,
Oliver Yang <yangoliver@...com>,
Shakeel Butt <shakeelb@...gle.com>,
xxx xxx <x.qendo@...il.com>,
Taras Kondratiuk <takondra@...co.com>,
Daniel Walker <danielwa@...co.com>,
Vinayak Menon <vinmenon@...eaurora.org>,
Ruslan Ruslichenko <rruslich@...co.com>, kernel-team@...com
Subject: Re: [PATCH 6/7] psi: pressure stall information for CPU, memory, and
IO
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: x86_64-randconfig-x012-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=x86_64
All errors (new ones prefixed by >>):
In file included from kernel/livepatch/../sched/sched.h:1317:0,
from kernel/livepatch/transition.c:27:
>> kernel/livepatch/../sched/stats.h:126:1: error: expected identifier or '(' before '{' token
{
^
vim +126 kernel/livepatch/../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
Download attachment ".config.gz" of type "application/gzip" (28065 bytes)
Powered by blists - more mailing lists