Re: [patch 08/34] arm: Use generic idle loop

Stephen Boyd
2013-05-01T00:49:25Z

On 04/25/13 14:01, Thomas Gleixner wrote:
> On Thu, 25 Apr 2013, Stephen Boyd wrote:
>> On 04/09/13 02:38, Russell King - ARM Linux wrote:
>>> On Tue, Apr 09, 2013 at 11:20:31AM +0200, Thomas Gleixner wrote:
>>>> On Mon, 8 Apr 2013, Russell King - ARM Linux wrote:
>>>>> On Mon, Mar 25, 2013 at 03:02:39PM +0100, Thomas Gleixner wrote:
>>>>> So, how can I review these changes when all there is is a git URL, and
>>>>> I *do* not want to pull them into my tree without first looking at the
>>>>> patches, possibly reviewing them and *replying* with the patch inline?
>>>> the patches were CC'ed to LKML and linux-arch and I expected that you
>>>> are at least having the latter. Find the relevant patch inlined below.
>>> I've not been on linux-arch for a few years now, after it evolved into
>>> yet another lkml-like list with high traffic rates, where mainly specific
>>> x86 issues seemed to be discussed, rather than it being a way to contact
>>> all arch maintainers.
>>>
>>>> It is a counter. I looked carefully at all the various slightly
>>>> differently fcked up implementations and picked the counter based one
>>>> as it fits all requirements.
>>> Great, thanks. The attached patch looks fine to me.
>> I'm pretty sure that we need to apply this patch now that
>> rcu_idle_enter()/exit() is called lower down in the idle loop. Kevin,
>> did you test hotplug?
> If the patch is agreed on, I guess I should take it via my idle
> consolidation branch, right ?

Yes I think so. Hopefully Russell King or Paul McKenney can ack this patch.

>
>> ----8<-----
>>
>> From: Stephen Boyd <sboyd@codeaurora.org>
>> Subject: [PATCH] ARM: smp: Drop RCU_NONIDLE usage in cpu_die()
>>
>> Before f7b861b (arm: Use generic idle loop, 2013-03-21) ARM would
>> kill the CPU within the rcu idle section. Now that the
>> rcu_idle_enter()/exit() pair have been pushed lower down in the
>> idle loop this is no longer true and so using RCU_NONIDLE here is
>> no longer necessary and also harmful because RCU is not actually
>> idle at this point.
>>
>> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
>> ---
>> arch/arm/kernel/smp.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
>> index 4619177..78f1eb5 100644
>> --- a/arch/arm/kernel/smp.c
>> +++ b/arch/arm/kernel/smp.c
>> @@ -233,7 +233,7 @@ void __ref cpu_die(void)
>> mb();
>>
>> /* Tell __cpu_die() that this CPU is now safe to dispose of */
>> - RCU_NONIDLE(complete(&cpu_died));
>> + complete(&cpu_died);
>>
>> /*
>> * actual CPU shutdown procedure is at least platform (if not
>>
>> --
>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>> hosted by The Linux Foundation
>>
>>

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation