aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutorture.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rcutorture.c')
-rw-r--r--kernel/rcutorture.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
index fd599829e72a..33acc424667e 100644
--- a/kernel/rcutorture.c
+++ b/kernel/rcutorture.c
@@ -45,6 +45,7 @@
45#include <linux/byteorder/swabb.h> 45#include <linux/byteorder/swabb.h>
46#include <linux/stat.h> 46#include <linux/stat.h>
47#include <linux/srcu.h> 47#include <linux/srcu.h>
48#include <linux/slab.h>
48 49
49MODULE_LICENSE("GPL"); 50MODULE_LICENSE("GPL");
50MODULE_AUTHOR("Paul E. McKenney <paulmck@us.ibm.com> and " 51MODULE_AUTHOR("Paul E. McKenney <paulmck@us.ibm.com> and "
@@ -723,9 +724,10 @@ static int rcu_idle_cpu; /* Force all torture tasks off this CPU */
723 */ 724 */
724static void rcu_torture_shuffle_tasks(void) 725static void rcu_torture_shuffle_tasks(void)
725{ 726{
726 cpumask_t tmp_mask = CPU_MASK_ALL; 727 cpumask_t tmp_mask;
727 int i; 728 int i;
728 729
730 cpus_setall(tmp_mask);
729 get_online_cpus(); 731 get_online_cpus();
730 732
731 /* No point in shuffling if there is only one online CPU (ex: UP) */ 733 /* No point in shuffling if there is only one online CPU (ex: UP) */
@@ -737,25 +739,27 @@ static void rcu_torture_shuffle_tasks(void)
737 if (rcu_idle_cpu != -1) 739 if (rcu_idle_cpu != -1)
738 cpu_clear(rcu_idle_cpu, tmp_mask); 740 cpu_clear(rcu_idle_cpu, tmp_mask);
739 741
740 set_cpus_allowed(current, tmp_mask); 742 set_cpus_allowed_ptr(current, &tmp_mask);
741 743
742 if (reader_tasks) { 744 if (reader_tasks) {
743 for (i = 0; i < nrealreaders; i++) 745 for (i = 0; i < nrealreaders; i++)
744 if (reader_tasks[i]) 746 if (reader_tasks[i])
745 set_cpus_allowed(reader_tasks[i], tmp_mask); 747 set_cpus_allowed_ptr(reader_tasks[i],
748 &tmp_mask);
746 } 749 }
747 750
748 if (fakewriter_tasks) { 751 if (fakewriter_tasks) {
749 for (i = 0; i < nfakewriters; i++) 752 for (i = 0; i < nfakewriters; i++)
750 if (fakewriter_tasks[i]) 753 if (fakewriter_tasks[i])
751 set_cpus_allowed(fakewriter_tasks[i], tmp_mask); 754 set_cpus_allowed_ptr(fakewriter_tasks[i],
755 &tmp_mask);
752 } 756 }
753 757
754 if (writer_task) 758 if (writer_task)
755 set_cpus_allowed(writer_task, tmp_mask); 759 set_cpus_allowed_ptr(writer_task, &tmp_mask);
756 760
757 if (stats_task) 761 if (stats_task)
758 set_cpus_allowed(stats_task, tmp_mask); 762 set_cpus_allowed_ptr(stats_task, &tmp_mask);
759 763
760 if (rcu_idle_cpu == -1) 764 if (rcu_idle_cpu == -1)
761 rcu_idle_cpu = num_online_cpus() - 1; 765 rcu_idle_cpu = num_online_cpus() - 1;