From: alex.shi@linaro.org (Alex Shi)
To: linux-arm-kernel@lists.infradead.org
Subject: questions of cpuidle
Date: Tue, 10 Dec 2013 14:08:17 +0800 [thread overview]
Message-ID: <52A6AFD1.4010002@linaro.org> (raw)
In-Reply-To: <52A5E135.2020500@linux.vnet.ibm.com>
On 12/09/2013 11:26 PM, Preeti U Murthy wrote:
>> > If the cpu stopped the interrupt during deep c-state and without
>> > monitor/mwait support, which kind of ipi can wake the cpu? I mean like a
>> > x86 cpu, APIC stopped in c3 mode, but actually ipi send via apic bus. So
>> > I don't know which ipi work?
>> >
> As far as my understanding goes, an external interrupt sent via the apic
> bus wakes up a core in deep idle state first,
Is there some evidence for this? Documents or some explanation?
meaning powers on the core
> and hence the local apic. It does not yet acknowledge the interrupt,
> meaning it cannot invoke the interrupt handler immediately.
> After the core goes through some initialization steps after wakeup,
> it will be in a position to acknowledge the external interrupt and
> service it accordingly.
>
> Ideally the interrupt handler of this external interrupt should be that
> of the local timer itself since it was meant to act on the behalf of the
> local timer interrupt.
>
Added more Intel experts.
Many thanks for response, Preeti!
But I still don't know how to get external/internal interrupt by a deep
c-state cpu.
In Intel Architecture Software Developer's Manual Vol.3A, Figure 10-3.
Local APICs and I/O APIC When P6 Family Processors Are Used in
Multiple-Processor Systems.
The Local APIC is response for the the external/internal interrupt
receiving. and It is included in CPU.
And some explanation often be used in wikipedia.
(http://www.hardwaresecrets.com/article/Everything-You-Need-to-Know-About-the-CPU-C-States-Power-Saving-Modes/611/4)
It said the APIC clock was stopped in deep c-state, So I am wondering
how can the nonfunctional LAPIC pass interrupt to CPU?
And for monitor/mwait idle method, seems deep c-state cpu need to keep a
eye on memory bus. So seems the memory controller in cpu package is
impossible to get into sleep, right?
--
Thanks
Alex
WARNING: multiple messages have this Message-ID (diff)
From: Alex Shi <alex.shi@linaro.org>
To: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
LAK <linux-arm-kernel@lists.infradead.org>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"len.brown@intel.com" <len.brown@intel.com>,
rafael.j.wysocki@intel.com,
"arjan@linux.intel.com" <arjan@linux.intel.com>
Subject: Re: questions of cpuidle
Date: Tue, 10 Dec 2013 14:08:17 +0800 [thread overview]
Message-ID: <52A6AFD1.4010002@linaro.org> (raw)
In-Reply-To: <52A5E135.2020500@linux.vnet.ibm.com>
On 12/09/2013 11:26 PM, Preeti U Murthy wrote:
>> > If the cpu stopped the interrupt during deep c-state and without
>> > monitor/mwait support, which kind of ipi can wake the cpu? I mean like a
>> > x86 cpu, APIC stopped in c3 mode, but actually ipi send via apic bus. So
>> > I don't know which ipi work?
>> >
> As far as my understanding goes, an external interrupt sent via the apic
> bus wakes up a core in deep idle state first,
Is there some evidence for this? Documents or some explanation?
meaning powers on the core
> and hence the local apic. It does not yet acknowledge the interrupt,
> meaning it cannot invoke the interrupt handler immediately.
> After the core goes through some initialization steps after wakeup,
> it will be in a position to acknowledge the external interrupt and
> service it accordingly.
>
> Ideally the interrupt handler of this external interrupt should be that
> of the local timer itself since it was meant to act on the behalf of the
> local timer interrupt.
>
Added more Intel experts.
Many thanks for response, Preeti!
But I still don't know how to get external/internal interrupt by a deep
c-state cpu.
In Intel Architecture Software Developer's Manual Vol.3A, Figure 10-3.
Local APICs and I/O APIC When P6 Family Processors Are Used in
Multiple-Processor Systems.
The Local APIC is response for the the external/internal interrupt
receiving. and It is included in CPU.
And some explanation often be used in wikipedia.
(http://www.hardwaresecrets.com/article/Everything-You-Need-to-Know-About-the-CPU-C-States-Power-Saving-Modes/611/4)
It said the APIC clock was stopped in deep c-state, So I am wondering
how can the nonfunctional LAPIC pass interrupt to CPU?
And for monitor/mwait idle method, seems deep c-state cpu need to keep a
eye on memory bus. So seems the memory controller in cpu package is
impossible to get into sleep, right?
--
Thanks
Alex
next prev parent reply other threads:[~2013-12-10 6:08 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-09 13:40 questions of cpuidle Alex Shi
2013-12-09 13:40 ` Alex Shi
2013-12-09 14:17 ` Daniel Lezcano
2013-12-09 14:17 ` Daniel Lezcano
2013-12-10 6:33 ` Alex Shi
2013-12-10 6:33 ` Alex Shi
2013-12-10 7:27 ` Daniel Lezcano
2013-12-10 7:27 ` Daniel Lezcano
2013-12-10 8:07 ` anish singh
2013-12-10 8:07 ` anish singh
2013-12-10 8:25 ` Daniel Lezcano
2013-12-10 8:25 ` Daniel Lezcano
2013-12-10 8:44 ` Alex Shi
2013-12-10 8:44 ` Alex Shi
2013-12-09 15:26 ` Preeti U Murthy
2013-12-09 15:26 ` Preeti U Murthy
2013-12-10 6:08 ` Alex Shi [this message]
2013-12-10 6:08 ` Alex Shi
2013-12-10 14:53 ` Arjan van de Ven
2013-12-10 14:53 ` Arjan van de Ven
2013-12-10 15:28 ` Alex Shi
2013-12-10 15:28 ` Alex Shi
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=52A6AFD1.4010002@linaro.org \
--to=alex.shi@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.