• Linus Torvalds's avatar
    Merge tag 'sched_urgent_for_v5.11_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 24c56ee0
    Linus Torvalds authored
    Pull scheduler fixes from Borislav Petkov:
    
     - Correct the marking of kthreads which are supposed to run on a
       specific, single CPU vs such which are affine to only one CPU, mark
       per-cpu workqueue threads as such and make sure that marking
       "survives" CPU hotplug. Fix CPU hotplug issues with such kthreads.
    
     - A fix to not push away tasks on CPUs coming online.
    
     - Have workqueue CPU hotplug code use cpu_possible_mask when breaking
       affinity on CPU offlining so that pending workers can finish on newly
       arrived onlined CPUs too.
    
     - Dump tasks which haven't vacated a CPU which is currently being
       unplugged.
    
     - Register a special scale invariance callback which gets called on
       resume from RAM to read out APERF/MPERF after resume and thus make
       the schedutil scaling governor more precise.
    
    * tag 'sched_urgent_for_v5.11_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched: Relax the set_cpus_allowed_ptr() semantics
      sched: Fix CPU hotplug / tighten is_per_cpu_kthread()
      sched: Prepare to use balance_push in ttwu()
      workqueue: Restrict affinity change to rescuer
      workqueue: Tag bound workers with KTHREAD_IS_PER_CPU
      kthread: Extract KTHREAD_IS_PER_CPU
      sched: Don't run cpu-online with balance_push() enabled
      workqueue: Use cpu_possible_mask instead of cpu_active_mask to break affinity
      sched/core: Print out straggler tasks in sched_cpu_dying()
      x86: PM: Register syscore_ops for scale invariance
    24c56ee0
kthread.c 38.6 KB