sched/numa: Fix use of spin_{un}lock_irq() when interrupts are disabled
[deliverable/linux.git] / kernel / sched / fair.c
index 0fdb96de81a5b8a92c302961769cdefdb5cad915..b4768c0693927b1ce801502f79aa6e7fe9da1f80 100644 (file)
@@ -1707,18 +1707,19 @@ no_join:
 void task_numa_free(struct task_struct *p)
 {
        struct numa_group *grp = p->numa_group;
-       int i;
        void *numa_faults = p->numa_faults_memory;
+       unsigned long flags;
+       int i;
 
        if (grp) {
-               spin_lock_irq(&grp->lock);
+               spin_lock_irqsave(&grp->lock, flags);
                for (i = 0; i < NR_NUMA_HINT_FAULT_STATS * nr_node_ids; i++)
                        grp->faults[i] -= p->numa_faults_memory[i];
                grp->total_faults -= p->total_numa_faults;
 
                list_del(&p->numa_entry);
                grp->nr_tasks--;
-               spin_unlock_irq(&grp->lock);
+               spin_unlock_irqrestore(&grp->lock, flags);
                rcu_assign_pointer(p->numa_group, NULL);
                put_numa_group(grp);
        }
This page took 0.027134 seconds and 5 git commands to generate.