Re: [PATCH v4 3/6] sched: Teach scheduler to understand ONRQ_MIGRATING state

2014-08-12 Thread Peter Zijlstra
On Tue, Aug 12, 2014 at 12:34:23PM +0400, Kirill Tkhai wrote: > I don't have objections. Should I resend the series (also with new [4/6] log > commentary)? Nah, I'll keep the patches as I have them now, I'll push them out to the queue.git tree somewhat later today so you can have a peek. pgp0r0_

Re: [PATCH v4 3/6] sched: Teach scheduler to understand ONRQ_MIGRATING state

2014-08-12 Thread Kirill Tkhai
В Вт, 12/08/2014 в 09:55 +0200, Peter Zijlstra пишет: > On Wed, Aug 06, 2014 at 12:06:19PM +0400, Kirill Tkhai wrote: > > --- a/kernel/sched/core.c > > +++ b/kernel/sched/core.c > > @@ -331,9 +331,13 @@ static inline struct rq *__task_rq_lock(struct > > task_struct *p) > > lockdep_assert_held(

Re: [PATCH v4 3/6] sched: Teach scheduler to understand ONRQ_MIGRATING state

2014-08-12 Thread Peter Zijlstra
On Wed, Aug 06, 2014 at 12:06:19PM +0400, Kirill Tkhai wrote: > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -331,9 +331,13 @@ static inline struct rq *__task_rq_lock(struct > task_struct *p) > lockdep_assert_held(&p->pi_lock); > > for (;;) { > + while (unli

[PATCH v4 3/6] sched: Teach scheduler to understand ONRQ_MIGRATING state

2014-08-06 Thread Kirill Tkhai
This is a new state which will be used to indicate that a task is in a process of migrating between two RQs. It allows to get rid of double_rq_lock(), which we used to use to change rq of a queued task before. Let's consider the example. To move a task between src_rq and dst_rq we will do the fol