Messages in this thread | | | Subject | Re: [RFC PATCH v3] sched/fair: select idle cpu from idle cpumask for task wakeup | From | "Li, Aubrey" <> | Date | Thu, 12 Nov 2020 20:12:01 +0800 |
| |
On 2020/11/12 18:57, Qais Yousef wrote: > On 10/21/20 23:03, Aubrey Li wrote: >> From: Aubrey Li <aubrey.li@intel.com> >> >> Added idle cpumask to track idle cpus in sched domain. When a CPU >> enters idle, its corresponding bit in the idle cpumask will be set, >> and when the CPU exits idle, its bit will be cleared. >> >> When a task wakes up to select an idle cpu, scanning idle cpumask >> has low cost than scanning all the cpus in last level cache domain, >> especially when the system is heavily loaded. >> >> v2->v3: >> - change setting idle cpumask to every idle entry, otherwise schbench >> has a regression of 99th percentile latency. >> - change clearing idle cpumask to nohz_balancer_kick(), so updating >> idle cpumask is ratelimited in the idle exiting path. >> - set SCHED_IDLE cpu in idle cpumask to allow it as a wakeup target. >> >> v1->v2: >> - idle cpumask is updated in the nohz routines, by initializing idle >> cpumask with sched_domain_span(sd), nohz=off case remains the original >> behavior. > > Did you intend to put the patch version history in the commit message? > > I started looking at this last week but got distracted. I see you already got > enough reviews, so my 2p is that I faced some compilation issues: > > aarch64-linux-gnu-ld: kernel/sched/idle.o: in function `set_next_task_idle': > /mnt/data/src/linux/kernel/sched/idle.c:405: undefined reference to `update_idle_cpumask' > aarch64-linux-gnu-ld: kernel/sched/fair.o: in function `nohz_balancer_kick': > /mnt/data/src/linux/kernel/sched/fair.c:10150: undefined reference to `update_idle_cpumask' > aarch64-linux-gnu-ld: /mnt/data/src/linux/kernel/sched/fair.c:10148: undefined reference to `update_idle_cpumask' > > Because of the missing CONFIG_SCHED_SMT in my .config. I think > update_idle_cpumask() should be defined unconditionally.
Thanks to point this out timely, :), I'll fix it in the next version.
-Aubrey
| |