Re: [PATCH v6 1/2] cpufreq: split the cpufreq_driver_lock and use the rcu

From: Viresh Kumar
Date: Wed Apr 03 2013 - 01:26:01 EST


On 3 April 2013 04:27, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> On Tuesday, April 02, 2013 08:29:12 PM Viresh Kumar wrote:
>> On 2 April 2013 20:25, Nathan Zimmer <nzimmer@xxxxxxx> wrote:
>> > The lock is unneeded if we expect register and unregister driver to not be
>> > called from muliple threads at once. I didn't make that assumption.
>>
>> Hmm.. But doesn't rcu part take care of that too?? Two writers
>> updating stuff simultaneously?
>
> RCU doesn't cover that in general. Additional locking is needed to provide
> synchronization between writers.

Hmm.. I read the same from rcu documentation now...

Nathan, What about using a single spinlock (instead of two) that will take care
of all locking requirements of cpufreq.c ... i.e. both cpufreq_cpu_data and
cpufreq_driver_{register|unregister}... We don't need two locks actually.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/