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

Reply via email to