]> Git Repo - linux.git/commitdiff
Merge tag 'sched_ext-for-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
authorLinus Torvalds <[email protected]>
Fri, 24 Jan 2025 02:49:43 +0000 (18:49 -0800)
committerLinus Torvalds <[email protected]>
Fri, 24 Jan 2025 02:49:43 +0000 (18:49 -0800)
Pull sched_ext updates from Tejun Heo:

 - scx_bpf_now() added so that BPF scheduler can access the cached
   timestamp in struct rq to avoid reading TSC multiple times within a
   locked scheduling operation.

 - Minor updates to the built-in idle CPU selection logic.

 - tool/sched_ext updates and other misc changes.

* tag 'sched_ext-for-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext:
  sched_ext: fix kernel-doc warnings
  sched_ext: Use time helpers in BPF schedulers
  sched_ext: Replace bpf_ktime_get_ns() to scx_bpf_now()
  sched_ext: Add time helpers for BPF schedulers
  sched_ext: Add scx_bpf_now() for BPF scheduler
  sched_ext: Implement scx_bpf_now()
  sched_ext: Relocate scx_enabled() related code
  sched_ext: Add option -l in selftest runner to list all available tests
  sched_ext: Include remaining task time slice in error state dump
  sched_ext: update scx_bpf_dsq_insert() doc for SCX_DSQ_LOCAL_ON
  sched_ext: idle: small CPU iteration refactoring
  sched_ext: idle: introduce check_builtin_idle_enabled() helper
  sched_ext: idle: clarify comments
  sched_ext: idle: use assign_cpu() to update the idle cpumask
  sched_ext: Use str_enabled_disabled() helper in update_selcpu_topology()
  sched_ext: Use sizeof_field for key_len in dsq_hash_params
  tools/sched_ext: Receive updates from SCX repo
  sched_ext: Use the NUMA scheduling domain for NUMA optimizations

1  2 
Documentation/scheduler/sched-ext.rst
kernel/sched/core.c
kernel/sched/ext.c
kernel/sched/sched.h

Simple merge
Simple merge
index 7fee43426ee76452a9e3c9c153e039bd2b161ed9,64967d28da7f568f34138586f3c2b607c1c9e54c..8857c0709bdde26c0b4adda2388581ce72f2b08e
@@@ -3590,12 -3651,17 +3655,9 @@@ static void reset_idle_masks(void
        cpumask_copy(idle_masks.smt, cpu_online_mask);
  }
  
 -void __scx_update_idle(struct rq *rq, bool idle)
 +static void update_builtin_idle(int cpu, bool idle)
  {
-       if (idle)
-               cpumask_set_cpu(cpu, idle_masks.cpu);
-       else
-               cpumask_clear_cpu(cpu, idle_masks.cpu);
 -      int cpu = cpu_of(rq);
 -
 -      if (SCX_HAS_OP(update_idle) && !scx_rq_bypassing(rq)) {
 -              SCX_CALL_OP(SCX_KF_REST, update_idle, cpu_of(rq), idle);
 -              if (!static_branch_unlikely(&scx_builtin_idle_enabled))
 -                      return;
 -      }
 -
+       assign_cpu(cpu, idle_masks.cpu, idle);
  
  #ifdef CONFIG_SCHED_SMT
        if (sched_smt_active()) {
Simple merge
This page took 0.144456 seconds and 4 git commands to generate.