• Linus Torvalds's avatar
    Merge tag 'sched-urgent-2020-11-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4b936f5
    Linus Torvalds authored
    Pull scheduler fixes from Thomas Gleixner:
     "A couple of scheduler fixes:
    
       - Make the conditional update of the overutilized state work
         correctly by caching the relevant flags state before overwriting
         them and checking them afterwards.
    
       - Fix a data race in the wakeup path which caused loadavg on ARM64
         platforms to become a random number generator.
    
       - Fix the ordering of the iowaiter accounting operations so it can't
         be decremented before it is incremented.
    
       - Fix a bug in the deadline scheduler vs. priority inheritance when a
         non-deadline task A has inherited the parameters of a deadline task
         B and then blocks on a non-deadline task C.
    
         The second inheritance step used the static deadline parameters of
         task A, which are usually 0, instead of further propagating task
         B's parameters. The zero initialized parameters trigger a bug in
         the deadline scheduler"
    
    * tag 'sched-urgent-2020-11-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/deadline: Fix priority inheritance with multiple scheduling classes
      sched: Fix rq->nr_iowait ordering
      sched: Fix data-race in wakeup
      sched/fair: Fix overutilized update in enqueue_task_fair()
    f4b936f5
fair.c 298 KB