[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220608233412.327341-1-dtcccc@linux.alibaba.com>
Date: Thu, 9 Jun 2022 07:34:10 +0800
From: Tianchen Ding <dtcccc@...ux.alibaba.com>
To: Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
Daniel Bristot de Oliveira <bristot@...hat.com>,
Valentin Schneider <vschneid@...hat.com>
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH RESEND v4 0/2] sched: Queue task on wakelist in the same llc if the wakee cpu is idle
Wakelist can help avoid cache bouncing and offload the overhead of waker
cpu. So far, using wakelist within the same llc only happens on
WF_ON_CPU, and this limitation could be removed to further improve
wakeup performance. The result of Unixbench Pipe-based Context Switching
can be improved up to ~10%.
The 1st patch introduces a more "correct" way to check whether the wakee
cpu is soon-to-be-idle.
The 2nd patch allows using wakelist in any case when the wakee cpu is
idle or soon-to-be-idle.
v4:
Add benchmark results about the 1st patch.
Modify some comments.
v3: https://lore.kernel.org/all/20220602040645.275555-1-dtcccc@linux.alibaba.com/
Add a patch to fix the check of nr_running.
After that, we can remove WF_ON_CPU to achieve the same purpose.
Thank Valentin and Mel.
v2: https://lore.kernel.org/all/20220527090544.527411-1-dtcccc@linux.alibaba.com/
Modify commit log to describe key point in detail.
Add more benchmark results on more archs.
v1: https://lore.kernel.org/all/20220513062427.2375743-1-dtcccc@linux.alibaba.com/
Tianchen Ding (2):
sched: Fix the check of nr_running at queue wakelist
sched: Remove the limitation of WF_ON_CPU on wakelist if wakee cpu is
idle
kernel/sched/core.c | 30 ++++++++++++++++++------------
kernel/sched/sched.h | 1 -
2 files changed, 18 insertions(+), 13 deletions(-)
--
2.27.0
Powered by blists - more mailing lists