From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Preeti U Murthy <preeti@linux.vnet.ibm.com>,
linux-pm@vger.kernel.org, peterz@infradead.org,
benh@kernel.crashing.org, rafael.j.wysocki@intel.com,
linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
mingo@kernel.org, deepthi@linux.vnet.ibm.com,
paulmck@linux.vnet.ibm.com, fweisbec@gmail.com, paulus@samba.org,
srivatsa.bhat@linux.vnet.ibm.com, svaidy@linux.vnet.ibm.com
Subject: Re: [PATCH V4 2/3] tick/cpuidle: Initialize hrtimer mode of broadcast
Date: Tue, 11 Feb 2014 23:01:18 +0100 [thread overview]
Message-ID: <52FA9DAE.1040603@linaro.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1402111654190.21991@ionos.tec.linutronix.de>
On 02/11/2014 04:58 PM, Thomas Gleixner wrote:
> On Tue, 11 Feb 2014, Daniel Lezcano wrote:
>> On 02/07/2014 09:06 AM, Preeti U Murthy wrote:
>> Setting the smp affinity on the earliest timer should be handled automatically
>> with the CLOCK_EVT_FEAT_DYNIRQ flag. Did you look at using this flag ?
>
> How should this flag help? Not at all, because the hrtimer based
> broadcast device cannot assign affinities.
>
>> Another comment is the overall approach. We enter the cpuidle idle framework
>> with a specific state to go to and it is the tick framework telling us we
>> mustn't go to this state. IMO the logic is wrong, the decision to not enter
>> this state should be moved somewhere else.
>>
>> Why don't you create a cpuidle driver with the shallow idle states assigned to
>> a cpu (let's say cpu0) and another one with all the deeper idle states for the
>> rest of the cpus ? Using the multiple cpuidle driver support makes it
>> possible. The timer won't be moving around and a cpu will be dedicated to act
>> as the broadcast timer.
>>
>> Wouldn't make sense and be less intrusive than the patchset you proposed ?
>
> How do you arm the broadcast timer on CPU0 from CPU1? You can't!
>
> You cannot access the cpu local timer on a different cpu. So you would
> have to send an IPI over to CPU0 so that it can reevaluate and
> schedule the broadcast. That's even more backwards than telling the
> cpuidle code that the CPU is not in a state to go deep.
Indeed :)
Thanks for the clarification.
-- Daniel
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: deepthi@linux.vnet.ibm.com, linux-pm@vger.kernel.org,
peterz@infradead.org, rafael.j.wysocki@intel.com,
linux-kernel@vger.kernel.org, paulus@samba.org,
srivatsa.bhat@linux.vnet.ibm.com, fweisbec@gmail.com,
Preeti U Murthy <preeti@linux.vnet.ibm.com>,
paulmck@linux.vnet.ibm.com, linuxppc-dev@lists.ozlabs.org,
mingo@kernel.org
Subject: Re: [PATCH V4 2/3] tick/cpuidle: Initialize hrtimer mode of broadcast
Date: Tue, 11 Feb 2014 23:01:18 +0100 [thread overview]
Message-ID: <52FA9DAE.1040603@linaro.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1402111654190.21991@ionos.tec.linutronix.de>
On 02/11/2014 04:58 PM, Thomas Gleixner wrote:
> On Tue, 11 Feb 2014, Daniel Lezcano wrote:
>> On 02/07/2014 09:06 AM, Preeti U Murthy wrote:
>> Setting the smp affinity on the earliest timer should be handled automatically
>> with the CLOCK_EVT_FEAT_DYNIRQ flag. Did you look at using this flag ?
>
> How should this flag help? Not at all, because the hrtimer based
> broadcast device cannot assign affinities.
>
>> Another comment is the overall approach. We enter the cpuidle idle framework
>> with a specific state to go to and it is the tick framework telling us we
>> mustn't go to this state. IMO the logic is wrong, the decision to not enter
>> this state should be moved somewhere else.
>>
>> Why don't you create a cpuidle driver with the shallow idle states assigned to
>> a cpu (let's say cpu0) and another one with all the deeper idle states for the
>> rest of the cpus ? Using the multiple cpuidle driver support makes it
>> possible. The timer won't be moving around and a cpu will be dedicated to act
>> as the broadcast timer.
>>
>> Wouldn't make sense and be less intrusive than the patchset you proposed ?
>
> How do you arm the broadcast timer on CPU0 from CPU1? You can't!
>
> You cannot access the cpu local timer on a different cpu. So you would
> have to send an IPI over to CPU0 so that it can reevaluate and
> schedule the broadcast. That's even more backwards than telling the
> cpuidle code that the CPU is not in a state to go deep.
Indeed :)
Thanks for the clarification.
-- Daniel
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
next prev parent reply other threads:[~2014-02-11 22:01 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-07 8:05 [PATCH V4 0/3] time/cpuidle: Support in tick broadcast framework in absence of external clock device Preeti U Murthy
2014-02-07 8:05 ` Preeti U Murthy
2014-02-07 8:06 ` [PATCH V4 1/3] time: Change the return type of clockevents_notify() to integer Preeti U Murthy
2014-02-07 8:06 ` Preeti U Murthy
2014-02-07 14:40 ` [tip:timers/core] " tip-bot for Preeti U Murthy
2014-02-07 8:06 ` [PATCH V4 2/3] tick/cpuidle: Initialize hrtimer mode of broadcast Preeti U Murthy
2014-02-07 8:06 ` Preeti U Murthy
2014-02-07 14:41 ` [tip:timers/core] tick: Introduce hrtimer based broadcast tip-bot for Preeti U Murthy
2014-02-11 10:16 ` [PATCH V4 2/3] tick/cpuidle: Initialize hrtimer mode of broadcast Daniel Lezcano
2014-02-11 10:16 ` Daniel Lezcano
2014-02-11 15:58 ` Thomas Gleixner
2014-02-11 15:58 ` Thomas Gleixner
2014-02-11 22:01 ` Daniel Lezcano [this message]
2014-02-11 22:01 ` Daniel Lezcano
2014-02-11 16:09 ` Preeti U Murthy
2014-02-11 16:09 ` Preeti U Murthy
2014-02-11 22:05 ` Daniel Lezcano
2014-02-11 22:05 ` Daniel Lezcano
2014-02-07 8:06 ` [PATCH V4 3/3] time/cpuidle:Handle failed call to BROADCAST_ENTER on archs with CPUIDLE_FLAG_TIMER_STOP set Preeti U Murthy
2014-02-07 8:06 ` Preeti U Murthy
2014-02-07 12:07 ` Rafael J. Wysocki
2014-02-07 12:07 ` Rafael J. Wysocki
2014-02-07 14:41 ` [tip:timers/core] cpuidle: Handle clockevents_notify( BROADCAST_ENTER) failure tip-bot for Preeti U Murthy
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=52FA9DAE.1040603@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=benh@kernel.crashing.org \
--cc=deepthi@linux.vnet.ibm.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=preeti@linux.vnet.ibm.com \
--cc=rafael.j.wysocki@intel.com \
--cc=srivatsa.bhat@linux.vnet.ibm.com \
--cc=svaidy@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
/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.