• Linus Torvalds's avatar
    Merge tag 'sched_ext-for-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext · 88264981
    Linus Torvalds authored
    Pull sched_ext support from Tejun Heo:
     "This implements a new scheduler class called ‘ext_sched_class’, or
      sched_ext, which allows scheduling policies to be implemented as BPF
      programs.
    
      The goals of this are:
    
       - Ease of experimentation and exploration: Enabling rapid iteration
         of new scheduling policies.
    
       - Customization: Building application-specific schedulers which
         implement policies that are not applicable to general-purpose
         schedulers.
    
       - Rapid scheduler deployments: Non-disruptive swap outs of scheduling
         policies in production environments"
    
    See individual commits for more documentation, but also the cover letter
    for the latest series:
    
    Link: https://lore.kernel.org/all/20240618212056.2833381-1-tj@kernel.org/
    
    * tag 'sched_ext-for-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext: (110 commits)
      sched: Move update_other_load_avgs() to kernel/sched/pelt.c
      sched_ext: Don't trigger ops.quiescent/runnable() on migrations
      sched_ext: Synchronize bypass state changes with rq lock
      scx_qmap: Implement highpri boosting
      sched_ext: Implement scx_bpf_dispatch[_vtime]_from_dsq()
      sched_ext: Compact struct bpf_iter_scx_dsq_kern
      sched_ext: Replace consume_local_task() with move_local_task_to_local_dsq()
      sched_ext: Move consume_local_task() upward
      sched_ext: Move sanity check and dsq_mod_nr() into task_unlink_from_dsq()
      sched_ext: Reorder args for consume_local/remote_task()
      sched_ext: Restructure dispatch_to_local_dsq()
      sched_ext: Fix processs_ddsp_deferred_locals() by unifying DTL_INVALID handling
      sched_ext: Make find_dsq_for_dispatch() handle SCX_DSQ_LOCAL_ON
      sched_ext: Refactor consume_remote_task()
      sched_ext: Rename scx_kfunc_set_sleepable to unlocked and relocate
      sched_ext: Add missing static to scx_dump_data
      sched_ext: Add missing static to scx_has_op[]
      sched_ext: Temporarily work around pick_task_scx() being called without balance_scx()
      sched_ext: Add a cgroup scheduler which uses flattened hierarchy
      sched_ext: Add cgroup support
      ...
    88264981
fork.c 84 KB