1. 23 Jul, 2006 2 commits
    • Linus Torvalds's avatar
      cpu hotplug: simplify and hopefully fix locking · aa953877
      Linus Torvalds authored
      The CPU hotplug locking was quite messy, with a recursive lock to
      handle the fact that both the actual up/down sequence wanted to
      protect itself from being re-entered, but the callbacks that it
      called also tended to want to protect themselves from CPU events.
      
      This splits the lock into two (one to serialize the whole hotplug
      sequence, the other to protect against the CPU present bitmaps
      changing). The latter still allows recursive usage because some
      subsystems (ondemand policy for cpufreq at least) had already gotten
      too used to the lax locking, but the locking mistakes are hopefully
      now less fundamental, and we now warn about recursive lock usage
      when we see it, in the hope that it can be fixed.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      aa953877
    • Linus Torvalds's avatar
      [cpufreq] ondemand: make shutdown sequence more robust · 2cd7cbdf
      Linus Torvalds authored
      Shutting down the ondemand policy was fraught with potential
      problems, causing issues for SMP suspend (which wants to hot-
      unplug) all but the last CPU.
      
      This should fix at least the worst problems (divide-by-zero
      and infinite wait for the workqueue to shut down).
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      2cd7cbdf
  2. 21 Jul, 2006 38 commits