[lkml]   [2004]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] [CPU-HOTPLUG] convert cpucontrol to be a rwsem
    On Mon, Nov 01, 2004 at 07:00:07AM -0700, Zwane Mwaikambo wrote:
    > On Mon, 1 Nov 2004, Dominik Brodowski wrote:
    > > [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.
    > >
    > > Signed-off-by: Dominik Brodowski <>
    > Agreed it makes a lot more sense, i think there could be some places where
    > we use preempt_disable to protect against cpu offline which could
    > converted, but that can come later.

    Except that we don't want to (and can't[*]) disable preemption in the
    cpufreq case. Therefore, we __need__ to disable CPU hotplug specifically,
    and not meddle with other issues like preemption, scheduling, CPUs which are
    in the allowed_map, and so on. So back to the original patch: Rusty, do you
    agree with it?


    [*] calls to cpufreq->target() may sleep.
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:07    [W:0.036 / U:99.256 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site