[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200806041118.40675.nickpiggin@yahoo.com.au>
Date: Wed, 4 Jun 2008 11:18:39 +1000
From: Nick Piggin <nickpiggin@...oo.com.au>
To: Max Krasnyanskiy <maxk@...lcomm.com>
Cc: Ingo Oeser <ioe-lkml@...eria.de>,
Dimitri Sivanich <sivanich@....com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Paul Jackson <pj@....com>, linux-kernel@...r.kernel.org,
Con Kolivas <kernel@...ivas.org>,
"Derek L. Fults" <dfults@....com>, devik <devik@....cz>,
Dinakar Guniguntala <dino@...ibm.com>,
Emmanuel Pacaud <emmanuel.pacaud@...v-poitiers.fr>,
Frederik Deweerdt <deweerdt@...e.fr>,
Ingo Molnar <mingo@...e.hu>,
Matthew Dobson <colpatch@...ibm.com>, rostedt@...dmis.org,
Oleg Nesterov <oleg@...sign.ru>,
"Paul E. McKenney" <paulmck@...ibm.com>,
Paul Menage <menage@...gle.com>,
"Randy.Dunlap" <rddunlap@...l.org>, suresh.b.siddha@...el.com,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: Inquiry: Should we remove "isolcpus= kernel boot option? (may have realtime uses)
On Wednesday 04 June 2008 09:47, Max Krasnyanskiy wrote:
> >> I would really appreciate some way to keep the kernel from using
> >> a CPU at all to do fault isolation. If possible not even booting it.
> >
> > How does isolcpu= boot option helps in this case ?
> > I suppose the closes option is maxcpus=. We can probably add ignorecpus=
> > or something to handle your use case but it has nothing to do with
> > isolcpus=.
>
> btw Ingo, I just realized that maxcpu= option is exactly what you need.
> Here is how you can use it.
> Boot your system with maxcpus=1. That way the kernel will only bring up
> processor 0. I'm assuming cpu0 is "good" otherwise your system is totally
> busted :). Other cpus will stay off-line and will not be initialized.
> Then once the system boots you can selectively bring "good" processors
> online by doing
> echo 1 > /sys/devices/system/cpu/cpuN/online
>
> This actually solves the case you're talking about (ie ignoring bad
> processors) instead of partially covering it with isolcpus=.
For your case, that's probably the best way to solve it, yes.
> Dimitri, you can probably use that too. ie Boot the thing with most CPUs
> offline and then bring them online. That way you'll know for sure that no
> timers, works, hard-/soft-irqs, etc are running on them.
When you bring a CPU online, in theory the sched domains should get
set up for them, so you should start seeing processes get migrated
onto it, and with them timers work queues etc.
If you have irqbalanced running, it probably migrates irqs onto them
as well if it needs to.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists