From: Thomas Gleixner <tglx@linutronix.de>
To: Peter Zijlstra <peterz@infradead.org>
Cc: "Luck, Tony" <tony.luck@intel.com>,
"Yu, Fenghua" <fenghua.yu@intel.com>,
Rusty Russell <rusty@rustcorp.com.au>,
Ingo Molnar <mingo@elte.hu>, H Peter Anvin <hpa@zytor.com>,
"Siddha, Suresh B" <suresh.b.siddha@intel.com>,
"Mallick, Asit K" <asit.k.mallick@intel.com>,
Arjan Dan De Ven <arjan@linux.intel.com>,
linux-kernel <linux-kernel@vger.kernel.org>, x86 <x86@kernel.org>,
linux-pm <linux-pm@vger.kernel.org>,
"Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
Subject: RE: [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi
Date: Tue, 5 Jun 2012 21:43:53 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.02.1206052106440.3086@ionos> (raw)
In-Reply-To: <1338918625.2749.29.camel@twins>
B1;2601;0cOn Tue, 5 Jun 2012, Peter Zijlstra wrote:
> On Tue, 2012-06-05 at 17:44 +0000, Luck, Tony wrote:
> > > Like what? Offline is nothing more than a C state on x86.
> >
> > Offline is a bigger hammer than idle.
> >
> > When a core is idle it may take an interrupt which wakes it up to use power.
> > The scheduler may assign a process to run on it, which will wake it up to use power.
> >
> > When a core is offline we take extra steps (re-routing interrupts, telling the
> > scheduler it is not available for work) to make sure it STAYS in that low
> > power state.
>
> You also wreck cpusets, cpu affinity and you need some userspace crap to
> poll state trying to figure out when to wake up again.
>
> (And yes, I've heard stories about userspace hotplug daemons that cause
> machine wakeups themselves and were a main source of power usage at some
> point).
>
> All the timer/interrupt nonsense needs to be fixed anyhow, the HPC and
> RT people want isolation anyway.
>
> So shouldn't we all start by fixing the entire
> load-balancer/timer/interrupt madness before we start swinging stupid
> big hammers around that break half the interfaces we have?
My idea of the stateful hotplug is to have a state which just gets rid
of the interrupts, timers and some other crap (mostly IPIs) but allows
an ad hoc resurrection of the cpu.
Ideally the state transition would be driven by the load-balancer.
I know that the current load balancer is too stupid to do that, but
that's a different problem. Right now we can't fix the load balancer
because we have no mechanisms to solve the other issues and the other
issues are not solved because the stupid load balancer is in the way.
So we have to start somewhere.
IMNSHO providing a stateful hotplug mechanism which allows us to solve
the issues outside of the load balancer in a simple and robust way is
a proper approach. Once we have that we can tackle the load balancer
to control the whole thing.
Vs. the interrupt/timer/other crap madness:
- We really don't want to have an interrupt balancer in the kernel
again, but we need a mechanism to prevent the user space balancer
trainwreck from ruining the power saving party.
- The timer issue is mostly solved by the existing nohz stuff
(plus/minus the few bugs in there).
- The other details (silly IPIs) and cross CPU timer arming) are way
easier to solve by a proper prohibitive state than by chasing that
nonsense all over the tree forever.
Thoughts ?
tglx
next prev parent reply other threads:[~2012-06-05 19:44 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-04 18:17 Fenghua Yu
2012-06-04 18:17 ` [PATCH 1/6] x86/Documentation/kernel-parameters.txt: Add wakeup_cpu_via_init kernel parameter help Fenghua Yu
2012-06-04 18:17 ` [PATCH 2/6] x86/head_32.S/head_64.S: Kernel entry code after waking up offline CPU via mwait or nmi Fenghua Yu
2012-06-04 18:17 ` [PATCH 3/6] x86/smpboot.c: Wake " Fenghua Yu
2012-06-04 18:58 ` Suresh Siddha
2012-06-04 19:35 ` Yu, Fenghua
2012-06-04 18:17 ` [PATCH 4/6] x86/apic_flat_64.c: Wakeup function in apic calls mwait or nmi method Fenghua Yu
2012-06-04 18:17 ` [PATCH 5/6] x86/x2apic_cluster.c: Wakeup function in x2apic_cluster " Fenghua Yu
2012-06-04 18:17 ` [PATCH 6/6] x86/x2apic_phys.c: Wakeup function in x2apic_phys " Fenghua Yu
2012-06-04 18:17 ` Fenghua Yu
2012-06-04 20:11 ` [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi Thomas Gleixner
2012-06-04 20:18 ` Luck, Tony
2012-06-04 22:52 ` Thomas Gleixner
2012-06-04 20:33 ` Peter Zijlstra
2012-06-05 0:40 ` Rusty Russell
2012-06-05 1:23 ` Arjan van de Ven
2012-06-05 7:38 ` Peter Zijlstra
2012-06-05 14:17 ` Alan Stern
2012-06-05 15:27 ` Arjan van de Ven
2012-06-05 7:39 ` Peter Zijlstra
2012-06-05 16:02 ` Yu, Fenghua
2012-06-05 16:09 ` Peter Zijlstra
2012-06-05 16:18 ` Yu, Fenghua
2012-06-05 16:19 ` Peter Zijlstra
2012-06-05 17:44 ` Luck, Tony
2012-06-05 17:50 ` Peter Zijlstra
2012-06-05 19:43 ` Thomas Gleixner [this message]
2012-06-05 19:45 ` Peter Zijlstra
2012-06-05 19:49 ` Peter Zijlstra
2012-06-05 19:51 ` Arjan van de Ven
2012-06-05 19:52 ` Peter Zijlstra
2012-06-05 20:47 ` Thomas Gleixner
2012-06-05 21:30 ` Peter Zijlstra
2012-06-05 22:09 ` Thomas Gleixner
2012-06-06 8:23 ` Peter Zijlstra
2012-06-06 8:30 ` Peter Zijlstra
2012-06-06 8:40 ` Peter Zijlstra
2012-06-05 22:12 ` Paul E. McKenney
2012-06-06 8:40 ` Peter Zijlstra
2012-06-06 8:42 ` Peter Zijlstra
2012-06-06 14:44 ` Paul E. McKenney
2012-06-06 15:46 ` Peter Zijlstra
2012-06-06 23:20 ` Paul E. McKenney
2012-06-08 9:20 ` Peter Zijlstra
2012-06-06 8:43 ` Peter Zijlstra
2012-06-06 14:41 ` Paul E. McKenney
2012-06-06 15:23 ` Arjan van de Ven
2012-06-06 15:48 ` Peter Zijlstra
2012-06-06 15:49 ` Paul E. McKenney
2012-06-06 16:59 ` Arjan van de Ven
2012-06-05 21:29 ` Paul E. McKenney
2012-06-05 21:37 ` Peter Zijlstra
2012-06-05 22:00 ` Paul E. McKenney
2012-06-06 12:17 ` Peter Zijlstra
2012-06-06 14:43 ` Paul E. McKenney
2012-06-05 19:51 ` Peter Zijlstra
2012-06-05 20:58 ` Andi Kleen
2012-06-05 21:15 ` Thomas Gleixner
2012-06-05 21:33 ` Thomas Gleixner
2012-06-05 23:13 ` Andi Kleen
2012-06-06 1:52 ` Arjan van de Ven
2012-06-05 18:07 ` Peter Zijlstra
2012-06-05 19:54 ` Luck, Tony
2012-06-05 19:56 ` Peter Zijlstra
2012-06-05 9:36 ` Thomas Gleixner
2012-06-05 13:41 ` [PATCH] kthread: Implement park/unpark facility Thomas Gleixner
2012-06-05 14:01 ` Peter Zijlstra
2012-06-05 14:05 ` Peter Zijlstra
2012-06-07 0:04 ` H. Peter Anvin
2012-06-10 5:40 ` Rusty Russell
2012-06-11 9:26 ` Thomas Gleixner
2012-06-12 0:23 ` Rusty Russell
2012-06-05 15:35 ` [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi Jiang Liu
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=alpine.LFD.2.02.1206052106440.3086@ionos \
--to=tglx@linutronix.de \
--cc=arjan@linux.intel.com \
--cc=asit.k.mallick@intel.com \
--cc=fenghua.yu@intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=rusty@rustcorp.com.au \
--cc=srivatsa.bhat@linux.vnet.ibm.com \
--cc=suresh.b.siddha@intel.com \
--cc=tony.luck@intel.com \
--cc=x86@kernel.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
Powered by JetHome