Re: [PATCH 19/21] cpuidle: create list of registered drivers

From: Daniel Lezcano
Date: Mon Sep 30 2013 - 14:38:02 EST

On 09/28/2013 11:33 PM, Paul E. McKenney wrote:
On Thu, Sep 26, 2013 at 10:19:14AM +0200, Daniel Lezcano wrote:
On 09/26/2013 08:17 AM, Viresh Kumar wrote:
On 26 September 2013 04:00, Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote:
If you introduce a list, you will have to introduce a lock to protect

I missed it, should have added that :)

This lock will be in the fast path cpuidle_idle_call with the
get_driver function and conforming to the comment: "NOTE: no locks or
semaphores should be used here".

A lock has been introduced in this function already and the system hangs
with 1024 cpus.

Hmm... I see.. I didn't knew about this expectation.. What about a rcu
read/write lock? As far as I know its too lightweight... Can we have that
in fast path?

Nope, we can't use rcu in the idle path :)

But you should be able to use SRCU in the idle path, if that helps.

Interesting, thanks for the pointer.

-- Daniel

<> â Open source software for ARM SoCs

Follow Linaro: <> Facebook |
<!/linaroorg> Twitter |
<> Blog

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at