Skip to content

RFC sched: Allow interrupts to be enabled in idle balance

Steven Rostedt lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest2 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2sched: Move idle_balance() to post_schedulekernel/sched/core.c kernel/sched/idle_task.c+9 -32 replies
2/2sched: Enable interrupts in idle_balance()kernel/sched/fair.c+5 -30 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC][PATCH 0/2] sched: Allow interrupts to be enabled in idle balance

The idle_balance() code is treated special in the scheduler for no real apparent reason. There's an unlikely check for !rq->nr_running in the hot path of the scheduler, for just the idle load balancing.

As sched classes can have their own post schedule routine, and the idle task has its own scheduler class, we can move the idle_balance() into the idle task's post schedule routine, and out of the hot path of the scheduler (no sepecial check).

An added benefit for doing this is that this enables us to enable interrupts in the idle balance code. Shrinking the time interrupts are disabled while doing load balancing.

These patches have been thoroughly tested (on a 40 core box as well as a 4 core and UP config), and are prime for inclusion (for 3.9). But I'm posted them now as an RFC for comments.

Thanks!

-- Steve