Try reinstating locks that affect cpu hotplug around sched affinity calls. -ck --- kernel/sched/bfs.c | 5 +++++ 1 file changed, 5 insertions(+) Index: linux-3.15.5-ck1/kernel/sched/bfs.c =================================================================== --- linux-3.15.5-ck1.orig/kernel/sched/bfs.c 2014-07-18 11:21:26.343767043 +1000 +++ linux-3.15.5-ck1/kernel/sched/bfs.c 2014-07-23 23:22:35.445070612 +1000 @@ -4321,11 +4321,13 @@ long sched_setaffinity(pid_t pid, const struct task_struct *p; int retval; + get_online_cpus(); rcu_read_lock(); p = find_process_by_pid(pid); if (!p) { rcu_read_unlock(); + put_online_cpus(); return -ESRCH; } @@ -4382,6 +4384,7 @@ out_free_cpus_allowed: free_cpumask_var(cpus_allowed); out_put_task: put_task_struct(p); + put_online_cpus(); return retval; } @@ -4427,6 +4430,7 @@ long sched_getaffinity(pid_t pid, cpumas unsigned long flags; int retval; + get_online_cpus(); rcu_read_lock(); retval = -ESRCH; @@ -4444,6 +4448,7 @@ long sched_getaffinity(pid_t pid, cpumas out_unlock: rcu_read_unlock(); + put_online_cpus(); return retval; }