From: Tejun Heo <tj@kernel.org>
To: linux-kernel@vger.kernel.org, rusty@rustcorp.com.au,
sivanich@sgi.com, heiko.carstens@de.ibm.com,
torvalds@linux-foundation.org, mingo@elte.hu,
peterz@infradead.org, dipankar@in.ibm.com, josh@freedesktop.org,
paulmck@linux.vnet.ibm.com, oleg@redhat.com,
akpm@linux-foundation.org
Subject: [PATCHSET] cpuhog: implement and use cpuhog
Date: Tue, 9 Mar 2010 00:53:19 +0900 [thread overview]
Message-ID: <1268063603-7425-1-git-send-email-tj@kernel.org> (raw)
Hello, all.
This patchset implements cpuhog which is a simplistic cpu
monopolization mechanism and reimplements stop_machine() and replaces
migration_thread with it.
This allows stop_machine() to be simpler and much more efficient on
very large machines without using more resources while also making the
rather messy overloaded migration_thread usages cleaner.
This should solve the slow boot problem[1] caused by repeated
stop_machine workqueue creation/destruction reported by Dimitri
Sivanich.
The patchset is currently on top of v2.6.33 and contains the following
patches.
0001-cpuhog-implement-cpuhog.patch
0002-stop_machine-reimplement-using-cpuhog.patch
0003-scheduler-replace-migration_thread-with-cpuhog.patch
0004-scheduler-kill-paranoia-check-in-synchronize_sched_e.patch
0001 implements cpuhog. 0002 converts stop_machine. 0003 converts
migration users and 0004 removes paranoia checks in
synchronize_sched_expedited(). 0004 is done separately so that 0003
can serve as a debug/bisection point.
Tested cpu on/offlining, shutdown, all migration usage paths including
RCU torture test at 0003 and 004 and everything seems to work fine
here. Dimitri, can you please test whether this solves the problem
you're seeing there?
The tree is available in the following git tree.
git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git cpuhog
diffstat follows.
Documentation/RCU/torture.txt | 10 -
arch/s390/kernel/time.c | 1
drivers/xen/manage.c | 14 -
include/linux/cpuhog.h | 24 ++
include/linux/rcutiny.h | 2
include/linux/rcutree.h | 1
include/linux/stop_machine.h | 20 --
kernel/Makefile | 2
kernel/cpu.c | 8
kernel/cpuhog.c | 362 ++++++++++++++++++++++++++++++++++++++++++
kernel/module.c | 14 -
kernel/rcutorture.c | 2
kernel/sched.c | 327 +++++++++----------------------------
kernel/stop_machine.c | 162 ++++--------------
14 files changed, 509 insertions(+), 440 deletions(-)
Thanks.
--
tejun
[1] http://thread.gmane.org/gmane.linux.kernel/957726
next reply other threads:[~2010-03-08 15:54 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-08 15:53 Tejun Heo [this message]
2010-03-08 15:53 ` [PATCH 1/4] cpuhog: implement cpuhog Tejun Heo
2010-03-08 19:01 ` Oleg Nesterov
2010-03-08 23:18 ` Tejun Heo
2010-03-08 15:53 ` [PATCH 2/4] stop_machine: reimplement using cpuhog Tejun Heo
2010-03-08 16:32 ` Arjan van de Ven
2010-03-08 23:21 ` Tejun Heo
2010-03-08 17:10 ` Heiko Carstens
2010-03-08 18:27 ` Oleg Nesterov
2010-03-08 19:37 ` Heiko Carstens
2010-03-08 23:39 ` Tejun Heo
2010-03-09 7:09 ` Heiko Carstens
2010-03-09 7:16 ` Tejun Heo
2010-03-08 19:06 ` Oleg Nesterov
2010-03-08 23:22 ` Tejun Heo
2010-03-08 15:53 ` [PATCH 3/4] scheduler: replace migration_thread with cpuhog Tejun Heo
2010-03-08 15:53 ` [PATCH 4/4] scheduler: kill paranoia check in synchronize_sched_expedited() Tejun Heo
2010-03-10 19:25 ` [PATCHSET] cpuhog: implement and use cpuhog Peter Zijlstra
2010-03-12 3:13 ` Tejun Heo
2010-03-29 6:46 ` Rusty Russell
2010-03-29 9:11 ` Peter Zijlstra
2010-04-02 5:45 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1268063603-7425-1-git-send-email-tj@kernel.org \
--to=tj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=dipankar@in.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=josh@freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rusty@rustcorp.com.au \
--cc=sivanich@sgi.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).