Messages in this thread | | | Subject | Re: [tip:sched/core] sched/numa: Move task_numa_free() to __put_task_struct() | From | Mike Galbraith <> | Date | Mon, 07 Apr 2014 10:40:30 +0200 |
| |
On Mon, 2014-04-07 at 10:16 +0200, Peter Zijlstra wrote: > On Mon, Apr 07, 2014 at 09:30:30AM +0200, Mike Galbraith wrote: > > - double_lock(&my_grp->lock, &grp->lock); > > + BUG_ON(irqs_disabled()); > > + double_lock_irq(&my_grp->lock, &grp->lock); > > So either make this: > > local_irq_disable(); > double_lock(); > > or > > > > > for (i = 0; i < NR_NUMA_HINT_FAULT_STATS * nr_node_ids; i++) { > > my_grp->faults[i] -= p->numa_faults_memory[i]; > > @@ -1692,6 +1693,7 @@ static void task_numa_group(struct task_ > > > > spin_unlock(&my_grp->lock); > > spin_unlock(&grp->lock); > > + local_irq_enable(); > > use: > spin_unlock() > spin_unlock_irq()
*thwap* Well duh.
> or so, but this imbalance is making my itch :-)
Yeah, much better.
Before I actually sign that off, mind cluing me in as to why I should not be sitting here thinking lockdep smoked its breakfast?
-Mike
| |