On Thu, Jul 12, 2018 at 01:29:40PM -0400, Johannes Weiner wrote: > +static inline void psi_ttwu_dequeue(struct task_struct *p) > +{ > + if (psi_disabled) > + return; > + /* > + * Is the task being migrated during a wakeup? Make sure to > + * deregister its sleep-persistent psi states from the old > + * queue, and let psi_enqueue() know it has to requeue. > + */ > + if (unlikely(p->in_iowait || (p->flags & PF_MEMSTALL))) { > + struct rq_flags rf; > + struct rq *rq; > + int clear = 0; > + > + if (p->in_iowait) > + clear |= TSK_IOWAIT; > + if (p->flags & PF_MEMSTALL) > + clear |= TSK_MEMSTALL; > + > + rq = __task_rq_lock(p, &rf); > + update_rq_clock(rq); > + psi_task_change(p, rq_clock(rq), clear, 0); > + p->sched_psi_wake_requeue = 1; > + __task_rq_unlock(rq, &rf); > + } > +} Still NAK, what happened to this here: https://lkml.kernel.org/r/20180514083353.GN12217@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx