This is an experiment towards process_freezer based implementationof cpu-hotplug. This is mainly based on ideas of Andrew Morton, Ingo Molnar and Paul Mckenney featured in the discussionhttp://lkml.org/lkml/2007/1/31/323.

This is an absolute bare-minimal implementation to check the feasibilityof using process freezer for cpu-hotplug.

The patchset comprises of four patches.o PATCH 1/4: Core implementation of freezer-based-hotplug.o PATCH 2/4: Revert changes to workqueue to make it work with the freezer-cpu-hotplug.o PATCH 3/4: Eliminate hotcpu subsystem mutexes from sched and slab.o PATCH 4/4: Eliminate lock_cpu_hotplug from the kernel.

These patches have been stress tested on i386 SMP box, with cpu-hotplugoperations in a tight-loop and make -jN (kernel compile) runningparallely. The cpu hotplug operations have been pretty stable.

Observation:-------------Certain threads like ksoftirqd/1, firmware.agentwere not frozen during the hotplug operations. However, thesewere rare occurances.

This implementation is by no means perfect or complete. Thingsthat are yet to be done are as follows:

- Most of Paul's suggestions including introduction of new states for process freezer like PFE_SUSPEND, PFE_KPROBES, PFE_HOTPLUG so that processes which are not concerned with these events can be exempted from being frozen.

- Ensure the working of cpu_hotplug on all architectures on which it is supported. At present, it has been tested only on i386.

- Updated documentation for cpu-hotplug.

Any feedback would be greatly appreciated.

Thanks and Regardsgautham.-- Gautham R ShenoyLinux Technology CenterIBM India."Freedom comes with a price tag of responsibility, which is still a bargain,because Freedom is priceless!"-To unsubscribe from this list: send the line "unsubscribe linux-kernel" inthe body of a message to majordomo@vger.kernel.orgMore majordomo info at http://vger.kernel.org/majordomo-info.htmlPlease read the FAQ at http://www.tux.org/lkml/