Re: [PATCH 43/51] hwmon, via-cputemp: Fix CPU hotplug callback registration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 05, 2014 at 04:44:31PM -0800, Guenter Roeck wrote:
> On Thu, Feb 06, 2014 at 03:42:19AM +0530, Srivatsa S. Bhat wrote:
> > Subsystems that want to register CPU hotplug callbacks, as well as perform
> > initialization for the CPUs that are already online, often do it as shown
> > below:
> > 
> > 	get_online_cpus();
> > 
> > 	for_each_online_cpu(cpu)
> > 		init_cpu(cpu);
> > 
> > 	register_cpu_notifier(&foobar_cpu_notifier);
> > 
> > 	put_online_cpus();
> > 
> > This is wrong, since it is prone to ABBA deadlocks involving the
> > cpu_add_remove_lock and the cpu_hotplug.lock (when running concurrently
> > with CPU hotplug operations).
> > 
> > Instead, the correct and race-free way of performing the callback
> > registration is:
> > 
> > 	cpu_maps_update_begin();
> > 
> > 	for_each_online_cpu(cpu)
> > 		init_cpu(cpu);
> > 
> > 	/* Note the use of the double underscored version of the API */
> > 	__register_cpu_notifier(&foobar_cpu_notifier);
> > 
> > 	cpu_maps_update_done();
> > 
> > 
> > Fix the hwmon via-cputemp code by using this latter form of callback
> > registration.
> > 
> > Cc: Jean Delvare <jdelvare@xxxxxxx>
> > Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
> > Cc: lm-sensors@xxxxxxxxxxxxxx
> > Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx>
> 
> Applied.
> 
Same here ... 

Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx>

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors




[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux