mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Dmitry Adamushko <dmitry.adamushko@gmail.com>
Cc: Gregory Haskins <ghaskins@novell.com>,
	Ingo Molnar <mingo@elte.hu>, Steven Rostedt <rostedt@goodmis.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [sched-devel, patch-rfc] rework of "prioritize non-migratable tasks over migratable ones"
Date: Tue, 15 Jul 2008 14:48:26 +0200	[thread overview]
Message-ID: <1216126106.12595.180.camel@twins> (raw)
In-Reply-To: <b647ffbd0807010346l2833f376y4c394bcbf49fa086@mail.gmail.com>

On Tue, 2008-07-01 at 12:46 +0200, Dmitry Adamushko wrote:
> 2008/6/16 Peter Zijlstra <a.p.zijlstra@chello.nl>:
> > On Mon, 2008-06-16 at 19:59 +0200, Dmitry Adamushko wrote:
> >
> >> One way or another, we have different aritifacts (and mine have likely
> >> more) but conceptually, both "violates" POSIX if a strict round-robin
> >> scheduling is required.
> >
> > http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_08.html#tag_02_08_04_01
> >
> > Is quite strict on what FIFO should do, and I know of two points where
> > we deviate and should work to match.
> >
> 
> 
> btw., rt group scheduling seems to well, slightly wreck this (per-rq)
> FIFO model as well.
> 
> say, group_A has N SCHED_FIFO tasks of equal prio. So far so good,
> they all run strictly one after another.
> 
> Now group_B gets task_S. On a group layer, group_B gets enqueued after group_A.
> 
> This changes when a current task (that belongs to group_A)
> relinquishes a CPU: dequeue_stack -> __enqueue_rt_entity() will place
> group_A in the tail of its list.
> 
> So the next task to run is task_S, although group_A migth have plenty
> of tasks of the same prio that were enqueued ealrier.
> 
> We can't get a strict FIFO ordering with this pure tree-like hierarchy.
> 
> 
> btw #2,
> 
> Gregory, our new modification also doesn't work nicely with group-scheduling.
> 
> We may place a task in the head of its queue, yes. But its group will
> still remain where it was.
> 
> rt_se->nr_cpus_allowed just has no adequat sense for groups and
> __enqueue_rt_entity() always places a group at the tail.
> 
> IOW, even if check_preempt_curr_rt() calls resched_task() based on
> analysis of the newly arrived task 'p', 'p' won't be necessarily
> picked up by pick_next_task_rt(). Although, there is a way to fix it.


Yeah, I realized this quite a while back, but 1) posix doesn't say
anything about group scheduling like this, and 2) all the rt group
scheduling stuff is still experimental :-)

I'm open to suggestion though.


  reply	other threads:[~2008-07-15 12:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-10 22:58 Dmitry Adamushko
2008-06-11  8:53 ` Peter Zijlstra
2008-06-11 10:05   ` Dmitry Adamushko
2008-06-13 13:08     ` Peter Zijlstra
2008-06-16 14:26     ` Gregory Haskins
2008-06-16 17:59       ` Dmitry Adamushko
2008-06-16 18:44         ` Gregory Haskins
2008-06-16 19:17         ` Peter Zijlstra
2008-06-16 19:54           ` [sched-devel, patch-rfc] rework of "prioritize non-migratabletasks " Gregory Haskins
2008-06-18 10:39             ` Ingo Molnar
2008-06-18 10:47               ` Peter Zijlstra
2008-06-18 11:52               ` [sched-devel, patch-rfc] rework of "prioritizenon-migratabletasks " Gregory Haskins
2008-06-18 11:58               ` [sched-devel, patch-rfc] rework of "prioritize non-migratabletasks " Dmitry Adamushko
2008-07-01 10:46           ` [sched-devel, patch-rfc] rework of "prioritize non-migratable tasks " Dmitry Adamushko
2008-07-15 12:48             ` Peter Zijlstra [this message]
2008-06-18 10:44 ` Ingo Molnar

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=1216126106.12595.180.camel@twins \
    --to=a.p.zijlstra@chello.nl \
    --cc=dmitry.adamushko@gmail.com \
    --cc=ghaskins@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome