aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/kernel/mips-mt-fpaff.c10
-rw-r--r--arch/powerpc/platforms/pseries/hotplug-cpu.c8
-rw-r--r--arch/powerpc/platforms/pseries/rtasd.c8
-rw-r--r--arch/x86/kernel/cpu/mtrr/main.c8
-rw-r--r--arch/x86/kernel/microcode.c16
5 files changed, 25 insertions, 25 deletions
diff --git a/arch/mips/kernel/mips-mt-fpaff.c b/arch/mips/kernel/mips-mt-fpaff.c
index 892665bb12b1..bb4f00c0cbe9 100644
--- a/arch/mips/kernel/mips-mt-fpaff.c
+++ b/arch/mips/kernel/mips-mt-fpaff.c
@@ -58,13 +58,13 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
58 if (copy_from_user(&new_mask, user_mask_ptr, sizeof(new_mask))) 58 if (copy_from_user(&new_mask, user_mask_ptr, sizeof(new_mask)))
59 return -EFAULT; 59 return -EFAULT;
60 60
61 lock_cpu_hotplug(); 61 get_online_cpus();
62 read_lock(&tasklist_lock); 62 read_lock(&tasklist_lock);
63 63
64 p = find_process_by_pid(pid); 64 p = find_process_by_pid(pid);
65 if (!p) { 65 if (!p) {
66 read_unlock(&tasklist_lock); 66 read_unlock(&tasklist_lock);
67 unlock_cpu_hotplug(); 67 put_online_cpus();
68 return -ESRCH; 68 return -ESRCH;
69 } 69 }
70 70
@@ -106,7 +106,7 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
106 106
107out_unlock: 107out_unlock:
108 put_task_struct(p); 108 put_task_struct(p);
109 unlock_cpu_hotplug(); 109 put_online_cpus();
110 return retval; 110 return retval;
111} 111}
112 112
@@ -125,7 +125,7 @@ asmlinkage long mipsmt_sys_sched_getaffinity(pid_t pid, unsigned int len,
125 if (len < real_len) 125 if (len < real_len)
126 return -EINVAL; 126 return -EINVAL;
127 127
128 lock_cpu_hotplug(); 128 get_online_cpus();
129 read_lock(&tasklist_lock); 129 read_lock(&tasklist_lock);
130 130
131 retval = -ESRCH; 131 retval = -ESRCH;
@@ -140,7 +140,7 @@ asmlinkage long mipsmt_sys_sched_getaffinity(pid_t pid, unsigned int len,
140 140
141out_unlock: 141out_unlock:
142 read_unlock(&tasklist_lock); 142 read_unlock(&tasklist_lock);
143 unlock_cpu_hotplug(); 143 put_online_cpus();
144 if (retval) 144 if (retval)
145 return retval; 145 return retval;
146 if (copy_to_user(user_mask_ptr, &mask, real_len)) 146 if (copy_to_user(user_mask_ptr, &mask, real_len))
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
index 412e6b42986f..c4ad54e0f288 100644
--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
+++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
@@ -153,7 +153,7 @@ static int pseries_add_processor(struct device_node *np)
153 for (i = 0; i < nthreads; i++) 153 for (i = 0; i < nthreads; i++)
154 cpu_set(i, tmp); 154 cpu_set(i, tmp);
155 155
156 lock_cpu_hotplug(); 156 cpu_maps_update_begin();
157 157
158 BUG_ON(!cpus_subset(cpu_present_map, cpu_possible_map)); 158 BUG_ON(!cpus_subset(cpu_present_map, cpu_possible_map));
159 159
@@ -190,7 +190,7 @@ static int pseries_add_processor(struct device_node *np)
190 } 190 }
191 err = 0; 191 err = 0;
192out_unlock: 192out_unlock:
193 unlock_cpu_hotplug(); 193 cpu_maps_update_done();
194 return err; 194 return err;
195} 195}
196 196
@@ -211,7 +211,7 @@ static void pseries_remove_processor(struct device_node *np)
211 211
212 nthreads = len / sizeof(u32); 212 nthreads = len / sizeof(u32);
213 213
214 lock_cpu_hotplug(); 214 cpu_maps_update_begin();
215 for (i = 0; i < nthreads; i++) { 215 for (i = 0; i < nthreads; i++) {
216 for_each_present_cpu(cpu) { 216 for_each_present_cpu(cpu) {
217 if (get_hard_smp_processor_id(cpu) != intserv[i]) 217 if (get_hard_smp_processor_id(cpu) != intserv[i])
@@ -225,7 +225,7 @@ static void pseries_remove_processor(struct device_node *np)
225 printk(KERN_WARNING "Could not find cpu to remove " 225 printk(KERN_WARNING "Could not find cpu to remove "
226 "with physical id 0x%x\n", intserv[i]); 226 "with physical id 0x%x\n", intserv[i]);
227 } 227 }
228 unlock_cpu_hotplug(); 228 cpu_maps_update_done();
229} 229}
230 230
231static int pseries_smp_notifier(struct notifier_block *nb, 231static int pseries_smp_notifier(struct notifier_block *nb,
diff --git a/arch/powerpc/platforms/pseries/rtasd.c b/arch/powerpc/platforms/pseries/rtasd.c
index 73401c820110..e3078ce41518 100644
--- a/arch/powerpc/platforms/pseries/rtasd.c
+++ b/arch/powerpc/platforms/pseries/rtasd.c
@@ -382,7 +382,7 @@ static void do_event_scan_all_cpus(long delay)
382{ 382{
383 int cpu; 383 int cpu;
384 384
385 lock_cpu_hotplug(); 385 get_online_cpus();
386 cpu = first_cpu(cpu_online_map); 386 cpu = first_cpu(cpu_online_map);
387 for (;;) { 387 for (;;) {
388 set_cpus_allowed(current, cpumask_of_cpu(cpu)); 388 set_cpus_allowed(current, cpumask_of_cpu(cpu));
@@ -390,15 +390,15 @@ static void do_event_scan_all_cpus(long delay)
390 set_cpus_allowed(current, CPU_MASK_ALL); 390 set_cpus_allowed(current, CPU_MASK_ALL);
391 391
392 /* Drop hotplug lock, and sleep for the specified delay */ 392 /* Drop hotplug lock, and sleep for the specified delay */
393 unlock_cpu_hotplug(); 393 put_online_cpus();
394 msleep_interruptible(delay); 394 msleep_interruptible(delay);
395 lock_cpu_hotplug(); 395 get_online_cpus();
396 396
397 cpu = next_cpu(cpu, cpu_online_map); 397 cpu = next_cpu(cpu, cpu_online_map);
398 if (cpu == NR_CPUS) 398 if (cpu == NR_CPUS)
399 break; 399 break;
400 } 400 }
401 unlock_cpu_hotplug(); 401 put_online_cpus();
402} 402}
403 403
404static int rtasd(void *unused) 404static int rtasd(void *unused)
diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
index 3b20613325dc..beb45c9c0835 100644
--- a/arch/x86/kernel/cpu/mtrr/main.c
+++ b/arch/x86/kernel/cpu/mtrr/main.c
@@ -349,7 +349,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
349 replace = -1; 349 replace = -1;
350 350
351 /* No CPU hotplug when we change MTRR entries */ 351 /* No CPU hotplug when we change MTRR entries */
352 lock_cpu_hotplug(); 352 get_online_cpus();
353 /* Search for existing MTRR */ 353 /* Search for existing MTRR */
354 mutex_lock(&mtrr_mutex); 354 mutex_lock(&mtrr_mutex);
355 for (i = 0; i < num_var_ranges; ++i) { 355 for (i = 0; i < num_var_ranges; ++i) {
@@ -405,7 +405,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
405 error = i; 405 error = i;
406 out: 406 out:
407 mutex_unlock(&mtrr_mutex); 407 mutex_unlock(&mtrr_mutex);
408 unlock_cpu_hotplug(); 408 put_online_cpus();
409 return error; 409 return error;
410} 410}
411 411
@@ -495,7 +495,7 @@ int mtrr_del_page(int reg, unsigned long base, unsigned long size)
495 495
496 max = num_var_ranges; 496 max = num_var_ranges;
497 /* No CPU hotplug when we change MTRR entries */ 497 /* No CPU hotplug when we change MTRR entries */
498 lock_cpu_hotplug(); 498 get_online_cpus();
499 mutex_lock(&mtrr_mutex); 499 mutex_lock(&mtrr_mutex);
500 if (reg < 0) { 500 if (reg < 0) {
501 /* Search for existing MTRR */ 501 /* Search for existing MTRR */
@@ -536,7 +536,7 @@ int mtrr_del_page(int reg, unsigned long base, unsigned long size)
536 error = reg; 536 error = reg;
537 out: 537 out:
538 mutex_unlock(&mtrr_mutex); 538 mutex_unlock(&mtrr_mutex);
539 unlock_cpu_hotplug(); 539 put_online_cpus();
540 return error; 540 return error;
541} 541}
542/** 542/**
diff --git a/arch/x86/kernel/microcode.c b/arch/x86/kernel/microcode.c
index 09c315214a5e..40cfd5488719 100644
--- a/arch/x86/kernel/microcode.c
+++ b/arch/x86/kernel/microcode.c
@@ -436,7 +436,7 @@ static ssize_t microcode_write (struct file *file, const char __user *buf, size_
436 return -EINVAL; 436 return -EINVAL;
437 } 437 }
438 438
439 lock_cpu_hotplug(); 439 get_online_cpus();
440 mutex_lock(&microcode_mutex); 440 mutex_lock(&microcode_mutex);
441 441
442 user_buffer = (void __user *) buf; 442 user_buffer = (void __user *) buf;
@@ -447,7 +447,7 @@ static ssize_t microcode_write (struct file *file, const char __user *buf, size_
447 ret = (ssize_t)len; 447 ret = (ssize_t)len;
448 448
449 mutex_unlock(&microcode_mutex); 449 mutex_unlock(&microcode_mutex);
450 unlock_cpu_hotplug(); 450 put_online_cpus();
451 451
452 return ret; 452 return ret;
453} 453}
@@ -658,14 +658,14 @@ static ssize_t reload_store(struct sys_device *dev, const char *buf, size_t sz)
658 658
659 old = current->cpus_allowed; 659 old = current->cpus_allowed;
660 660
661 lock_cpu_hotplug(); 661 get_online_cpus();
662 set_cpus_allowed(current, cpumask_of_cpu(cpu)); 662 set_cpus_allowed(current, cpumask_of_cpu(cpu));
663 663
664 mutex_lock(&microcode_mutex); 664 mutex_lock(&microcode_mutex);
665 if (uci->valid) 665 if (uci->valid)
666 err = cpu_request_microcode(cpu); 666 err = cpu_request_microcode(cpu);
667 mutex_unlock(&microcode_mutex); 667 mutex_unlock(&microcode_mutex);
668 unlock_cpu_hotplug(); 668 put_online_cpus();
669 set_cpus_allowed(current, old); 669 set_cpus_allowed(current, old);
670 } 670 }
671 if (err) 671 if (err)
@@ -817,9 +817,9 @@ static int __init microcode_init (void)
817 return PTR_ERR(microcode_pdev); 817 return PTR_ERR(microcode_pdev);
818 } 818 }
819 819
820 lock_cpu_hotplug(); 820 get_online_cpus();
821 error = sysdev_driver_register(&cpu_sysdev_class, &mc_sysdev_driver); 821 error = sysdev_driver_register(&cpu_sysdev_class, &mc_sysdev_driver);
822 unlock_cpu_hotplug(); 822 put_online_cpus();
823 if (error) { 823 if (error) {
824 microcode_dev_exit(); 824 microcode_dev_exit();
825 platform_device_unregister(microcode_pdev); 825 platform_device_unregister(microcode_pdev);
@@ -839,9 +839,9 @@ static void __exit microcode_exit (void)
839 839
840 unregister_hotcpu_notifier(&mc_cpu_notifier); 840 unregister_hotcpu_notifier(&mc_cpu_notifier);
841 841
842 lock_cpu_hotplug(); 842 get_online_cpus();
843 sysdev_driver_unregister(&cpu_sysdev_class, &mc_sysdev_driver); 843 sysdev_driver_unregister(&cpu_sysdev_class, &mc_sysdev_driver);
844 unlock_cpu_hotplug(); 844 put_online_cpus();
845 845
846 platform_device_unregister(microcode_pdev); 846 platform_device_unregister(microcode_pdev);
847} 847}