[CPU-HOTPLUG] Use a rw-semaphore for serializing and locking
Currently, lock_cpu_hotplug serializes multiple calls to cpufreq->target()
on multiple CPUs even though that's unneccessary. Even further, it
serializes these calls with totally unrelated other parts of the kernel...
some ppc64 event reporting, some cache management, and so on. In my opinion
locking should be done subsystem (and normally data-)specific, and disabling
CPU hotplug should just do that.
This patch converts the semaphore cpucontrol to be a rwsem which allows us to use it for _both_ variants: locking (write) and (multiple) other parts disabling CPU hotplug (read).
Only problem I see with this approach is that lock_cpu_hotplug_interruptible()
needs to disappear as there is no down_write_interruptible() for rw-semaphores.