diff options
Diffstat (limited to 'Documentation/cpu-hotplug.txt')
-rw-r--r-- | Documentation/cpu-hotplug.txt | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Documentation/cpu-hotplug.txt b/Documentation/cpu-hotplug.txt index a741f658a3c9..ba0aacde94fb 100644 --- a/Documentation/cpu-hotplug.txt +++ b/Documentation/cpu-hotplug.txt | |||
@@ -50,7 +50,7 @@ additional_cpus=n (*) Use this to limit hotpluggable cpus. This option sets | |||
50 | cpu_possible_map = cpu_present_map + additional_cpus | 50 | cpu_possible_map = cpu_present_map + additional_cpus |
51 | 51 | ||
52 | (*) Option valid only for following architectures | 52 | (*) Option valid only for following architectures |
53 | - x86_64, ia64, s390 | 53 | - x86_64, ia64 |
54 | 54 | ||
55 | ia64 and x86_64 use the number of disabled local apics in ACPI tables MADT | 55 | ia64 and x86_64 use the number of disabled local apics in ACPI tables MADT |
56 | to determine the number of potentially hot-pluggable cpus. The implementation | 56 | to determine the number of potentially hot-pluggable cpus. The implementation |
@@ -109,12 +109,13 @@ Never use anything other than cpumask_t to represent bitmap of CPUs. | |||
109 | for_each_cpu_mask(x,mask) - Iterate over some random collection of cpu mask. | 109 | for_each_cpu_mask(x,mask) - Iterate over some random collection of cpu mask. |
110 | 110 | ||
111 | #include <linux/cpu.h> | 111 | #include <linux/cpu.h> |
112 | lock_cpu_hotplug() and unlock_cpu_hotplug(): | 112 | get_online_cpus() and put_online_cpus(): |
113 | 113 | ||
114 | The above calls are used to inhibit cpu hotplug operations. While holding the | 114 | The above calls are used to inhibit cpu hotplug operations. While the |
115 | cpucontrol mutex, cpu_online_map will not change. If you merely need to avoid | 115 | cpu_hotplug.refcount is non zero, the cpu_online_map will not change. |
116 | cpus going away, you could also use preempt_disable() and preempt_enable() | 116 | If you merely need to avoid cpus going away, you could also use |
117 | for those sections. Just remember the critical section cannot call any | 117 | preempt_disable() and preempt_enable() for those sections. |
118 | Just remember the critical section cannot call any | ||
118 | function that can sleep or schedule this process away. The preempt_disable() | 119 | function that can sleep or schedule this process away. The preempt_disable() |
119 | will work as long as stop_machine_run() is used to take a cpu down. | 120 | will work as long as stop_machine_run() is used to take a cpu down. |
120 | 121 | ||