From: Peter Zijlstra <peterz@infradead.org>
To: "\"Jan H. Schönherr\"" <schnhrr@cs.tu-berlin.de>
Cc: Paul Turner <pjt@google.com>, Ingo Molnar <mingo@elte.hu>,
Dipankar Sarma <dipankar@in.ibm.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/2] sched: Handle on_list ancestor in list_add_leaf_cfs_rq()
Date: Tue, 30 Aug 2011 15:35:54 +0200 [thread overview]
Message-ID: <1314711354.5812.3.camel@twins> (raw)
In-Reply-To: <4E557DCC.5050308@cs.tu-berlin.de>
On Thu, 2011-08-25 at 00:40 +0200, "Jan H. Schönherr" wrote:
> Am 24.08.2011 23:32, schrieb Paul Turner:
> >>> Now I don't really like the above because its hard to make the code go
> >>> away in the !FAIR_GROUP case, but maybe we can come up with something
> >>> for that.
> >>
> >> Hmmm... you might want to reconsider my original approach to solve this:
> >> http://lkml.org/lkml/2011/7/18/86
> >>
> >> That might have been the cleanest one in this respect.
> >>
> >> Paul Turner did not like the introduced in-order removal, but the
> >> out-of-order removal is causing most problems.
> >>
> >
> > Sorry for the delayed reply -- I owe you some feedback on the updated
> > versions but have been buried with other work.
>
> No problem.
>
> > What I didn't like about the original approach was specifically the
> > positional dependence on enqueue/dequeue.
>
> Maybe I misunderstood you, then.
>
> If we can guarantee in-order removal of leaf_cfs_rqs, then there is
> no positional dependency. Any SE can be enqueued and dequeued anytime.
>
> OTOH, the RCU splice variant has a positional dependence: calling
> enqueue_entity() outside of enqueue_task_fair() can go wrong easily as it
> depends on being called bottom-up and requires its caller to maintain state.
>
> This is also partly true for the leaf_insertion_point variant: if a caller
> maintains state, then the pair enqueue_entity/enqueue_leaf_cfs_rq() also
> depends on being called bottom up.
>
>
> > If we can't do the splicing
> > properly then I think we want something like:
> > https://lkml.org/lkml/2011/7/18/348 to avoid shooting ourselves in the
> > future later.
> >
> > See: https://lkml.org/lkml/2011/7/19/178 for why this should be cheap.
>
> As far as I can tell, all three variants proposed so far work.
>
> It is probably a matter of taste in the end. I'll happily help with
> whatever version tastes best. :)
pjt, you said you were rewriting the cgroup stuff yet-again, any
preference for which solution would least get in your way?
next prev parent reply other threads:[~2011-08-30 13:36 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-16 14:07 [PATCH v3 0/2] sched: Enforce order of leaf CFS runqueues Jan H. Schönherr
2011-08-16 14:07 ` [PATCH v3 1/2] rcu: More rcu-variants for list manipulation Jan H. Schönherr
2011-08-23 15:37 ` Paul E. McKenney
2011-08-16 14:07 ` [PATCH v3 2/2] sched: Handle on_list ancestor in list_add_leaf_cfs_rq() Jan H. Schönherr
2011-08-23 18:53 ` Peter Zijlstra
2011-08-24 21:27 ` "Jan H. Schönherr"
2011-08-24 21:32 ` Paul Turner
2011-08-24 22:40 ` "Jan H. Schönherr"
2011-08-30 13:35 ` Peter Zijlstra [this message]
2011-08-23 18:56 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1314711354.5812.3.camel@twins \
--to=peterz@infradead.org \
--cc=dipankar@in.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulmck@linux.vnet.ibm.com \
--cc=pjt@google.com \
--cc=schnhrr@cs.tu-berlin.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.