On Tue, 2012-08-07 at 22:49 +0530, Srikar Dronamraju wrote: > Are you referring to this the commit 158e1645e (trim task_work: get rid of > hlist)
No, to something like the below.. > I am also able to reproduce this on another 8 node machine too. Ship me one ;-) > Just to update, I had to revert commit: b9403130a5 sched/cleanups: Add > load balance cpumask pointer to 'struct lb_env' so that your patches > apply cleanly. (I dont think this should have caused any problem.. but) Yeah, I've got a rebase on top of that.. just wanted fold this page::last_nid thing into the page::flags before posting again. --- --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1539,6 +1539,7 @@ struct task_struct { #ifdef CONFIG_SMP u64 node_stamp; /* migration stamp */ unsigned long numa_contrib; + struct callback_head numa_work; #endif /* CONFIG_SMP */ #endif /* CONFIG_NUMA */ struct rcu_head rcu; --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -816,7 +816,7 @@ void task_numa_work(struct callback_head struct task_struct *t, *p = current; int node = p->node_last; - WARN_ON_ONCE(p != container_of(work, struct task_struct, rcu)); + WARN_ON_ONCE(p != container_of(work, struct task_struct, numa_work)); /* * Who cares about NUMA placement when they're dying. @@ -891,8 +891,8 @@ void task_tick_numa(struct rq *rq, struc * yet and exit_task_work() is called before * exit_notify(). */ - init_task_work(&curr->rcu, task_numa_work); - task_work_add(curr, &curr->rcu, true); + init_task_work(&curr->numa_work, task_numa_work); + task_work_add(curr, &curr->numa_work, true); } curr->node_last = node; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/