Re: [PATCH RFC] reduce runqueue lock contention

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Frank Rowand
Date: Tuesday, December 14, 2010 - 2:42 pm

On 12/13/10 19:42, Mike Galbraith wrote:

Additional lines added here to show the function call that Mike pointed out:


           }
           pre_schedule(rq, prev);
           if (unlikely(!rq->nr_running))
                   idle_balance(cpu, rq);


Thanks Mike, that's just the cluebat I needed!

And for the lkml archives, in case anyone has this question again in the
future, with Mike's clue in hand I found another case in this window where
the rq->lock can be dropped then reacquired.  Just before idle_balance()
is called, pre_schedule() is called:

pre_schedule()
   prev->sched_class->pre_schedule(rq, prev)
   [pre_schedule_rt()]
      pull_rt_task(rq)
      pull_rt_task[this_rq]
         for_each_cpu(cpu, this_rq->rd->rto_mask)
            double_lock_balance(this_rq, src_rq)
               raw_spin_unlock(&this_rq->lock)        <-----
               double_rq_lock(this_rq, busiest)

-Frank

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH RFC] reduce runqueue lock contention, Chris Mason, (Thu May 20, 1:48 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Peter Zijlstra, (Thu May 20, 2:09 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Peter Zijlstra, (Thu May 20, 2:23 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Chris Mason, (Thu May 20, 3:17 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Chris Mason, (Thu May 20, 3:21 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Stijn Devriendt, (Fri Jun 4, 3:56 am)
Re: [PATCH RFC] reduce runqueue lock contention, Peter Zijlstra, (Fri Jun 4, 5:00 am)
Re: [PATCH RFC] reduce runqueue lock contention, Stijn Devriendt, (Sat Jun 5, 2:37 am)
Re: [PATCH RFC] reduce runqueue lock contention, Peter Zijlstra, (Mon Jun 21, 3:02 am)
Re: [PATCH RFC] reduce runqueue lock contention, Peter Zijlstra, (Mon Jun 21, 3:54 am)
Re: [PATCH RFC] reduce runqueue lock contention, Peter Zijlstra, (Mon Jun 21, 6:04 am)
Re: [PATCH RFC] reduce runqueue lock contention, Peter Zijlstra, (Tue Jun 22, 6:33 am)
Re: [PATCH RFC] reduce runqueue lock contention, Ingo Molnar, (Tue Jun 22, 2:11 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Peter Zijlstra, (Wed Jun 23, 2:10 am)
Re: [PATCH RFC] reduce runqueue lock contention, Frank Rowand, (Wed Dec 1, 4:13 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Frank Rowand, (Wed Dec 1, 6:17 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Peter Zijlstra, (Thu Dec 2, 12:36 am)
Re: [PATCH RFC] reduce runqueue lock contention, Frank Rowand, (Mon Dec 13, 7:41 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Mike Galbraith, (Mon Dec 13, 8:42 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Frank Rowand, (Tue Dec 14, 2:42 pm)
Re: [PATCH RFC] reduce runqueue lock contention, Oleg Nesterov, (Wed Dec 15, 11:59 am)