sched: Remove rcu_read_lock/unlock() from select_idle_sibling()
authorNikunj A. Dadhania <nikunj@linux.vnet.ibm.com>
Fri, 17 Feb 2012 03:04:30 +0000 (08:34 +0530)
committerIngo Molnar <mingo@elte.hu>
Wed, 22 Feb 2012 11:28:28 +0000 (12:28 +0100)
select_idle_sibling() is called from select_task_rq_fair(), which
already has the RCU read lock held.

Signed-off-by: Nikunj A. Dadhania <nikunj@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20120217030409.11748.12491.stgit@abhimanyu
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched/fair.c

index 4ab60a24ea499821ba18a41d85b5f632874afb69..6ce9992926d03976e61cc922460813cdd54e2f42 100644 (file)
@@ -2670,8 +2670,6 @@ static int select_idle_sibling(struct task_struct *p, int target)
        /*
         * Otherwise, iterate the domains and find an elegible idle cpu.
         */
-       rcu_read_lock();
-
        sd = rcu_dereference(per_cpu(sd_llc, target));
        for_each_lower_domain(sd) {
                sg = sd->groups;
@@ -2693,8 +2691,6 @@ next:
                } while (sg != sd->groups);
        }
 done:
-       rcu_read_unlock();
-
        return target;
 }