[PATCH 04/45] CPU hotplug: Add infrastructure to check lacking hotplug synchronization
Srivatsa S. Bhat
srivatsa.bhat at linux.vnet.ibm.com
Wed Jun 26 04:49:43 EST 2013
On 06/25/2013 04:56 AM, Steven Rostedt wrote:
> On Sun, 2013-06-23 at 19:08 +0530, Srivatsa S. Bhat wrote:
>
>
> Just to make the code a little cleaner, can you add:
>
>> diff --git a/kernel/cpu.c b/kernel/cpu.c
>> index 860f51a..e90d9d7 100644
>> --- a/kernel/cpu.c
>> +++ b/kernel/cpu.c
>> @@ -63,6 +63,72 @@ static struct {
>> .refcount = 0,
>> };
>>
>> +#ifdef CONFIG_DEBUG_HOTPLUG_CPU
>> +
[..]
>
> static inline void atomic_reader_refcnt_inc(void)
> {
> this_cpu_inc(atomic_reader_refcnt);
> }
> static inline void atomic_reader_refcnt_dec(void)
> {
> this_cpu_dec(atomic_reader_refcnt);
> }
>
> #else
> static inline void atomic_reader_refcnt_inc(void)
> {
> }
> static inline void atomic_reader_refcnt_dec(void)
> {
> }
> #endif
>
>> +#endif
>> +
>> void get_online_cpus(void)
>> {
>> might_sleep();
>> @@ -189,13 +255,22 @@ unsigned int get_online_cpus_atomic(void)
>> * from going offline.
>> */
>> preempt_disable();
>> +
>> +#ifdef CONFIG_DEBUG_HOTPLUG_CPU
>> + this_cpu_inc(atomic_reader_refcnt);
>> +#endif
>
> Replace the #ifdef with just:
>
> atomic_reader_refcnt_inc();
>
>> return smp_processor_id();
>> }
>> EXPORT_SYMBOL_GPL(get_online_cpus_atomic);
>>
>> void put_online_cpus_atomic(void)
>> {
>> +
>> +#ifdef CONFIG_DEBUG_HOTPLUG_CPU
>> + this_cpu_dec(atomic_reader_refcnt);
>> +#endif
>
> And
>
> atomic_reader_refcnt_dec();
>
This makes the code look much better. Thank you!
I'll make that change in my v2.
Regards,
Srivatsa S. Bhat
More information about the Linuxppc-dev
mailing list