[PATCH 3/4] sched: Comment on why sync wakeups try to run on the current CPU

From: Mel Gorman
Date: Mon Dec 18 2017 - 04:43:36 EST


The sync wakeup logic in wake_affine_idle deserves a short description.

Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
---
kernel/sched/fair.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 392e08b364bd..95b1145bc38d 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -5737,6 +5737,11 @@ wake_affine_idle(int this_cpu, int prev_cpu, int sync)
static int
wake_affine_sync(int this_cpu, int sync)
{
+ /*
+ * Consider stacking tasks if it's a sync wakeup and there is only
+ * one task on the runqueue. sync wakesups are expected to sleep
+ * either immediately or shortly after the wakeup.
+ */
if (sync && cpu_rq(this_cpu)->nr_running == 1)
return this_cpu;

--
2.15.0