From: george anzinger <george@mvista.com>
To: Davide Libenzi <davidel@xmailserver.org>
Cc: lkml <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] Scheduler issue 1, RT tasks ...
Date: Thu, 20 Dec 2001 14:25:17 -0800 [thread overview]
Message-ID: <3C22654D.7FC80713@mvista.com> (raw)
In-Reply-To: <Pine.LNX.4.40.0112201252450.1622-100000@blue1.dev.mcafeelabs.com>
Davide Libenzi wrote:
>
> I'd like to have some comments about RT tasks implementation in a SMP
> system because POSIX it's not clear about how the priority rules apply to
> multiprocessor systems.
> The Balanced Multi Queue Scheduler ( BMQS, http://www.xmailserver.org/linux-patches/mss-2.html )
> i'm working on tries to keep CPU schedulers the more independent as
> possible and currently implements two kind of RT tasks, local one and
> global ones.
> Local RT tasks apply POSIX priority rules inside the local CPU, that means
> that an RT task running on CPU0 cannot preempt another task ( being it
> normal or RT ) on CPU1. This keeps schedulers interlocking very low
> because of the very fast path in reschedule_idle() ( no multi lock
> acquisition, CPU queue loops, etc...).
> Global RT tasks, that live in a separate run queue, have the ability to
> preempt remote CPU and this can lead ( in the unfortunate case that the
> last CPU running the RT task is running another RT task ) to an higher
> cost in reschedule_idle().
> The check for a global RT task selection is done in a very fast way before
> checking the local queue :
>
> if (!list_empty(&runqueue_head(RT_QID)))
> goto rt_queue_select;
> rt_queue_select_back:
>
> and this does not affect the scheduler latency at all.
> On the contrary, by having a separate queue for global RT tasks, can
> improve it in high run queue load cases.
> The local/global RT task selection is done with setscheduler() with a new
> ( or'ed ) flag SCHED_RTGLOBAL, and this means that the default is RT task
> local.
> I'd like to have comments on this before jumping to the next Scheduler
> issue ( balancing mode ).
>
My understanding of the POSIX standard is the the highest priority
task(s) are to get the cpu(s) using the standard calls. If you want to
deviate from this I think the standard allows extensions, but they IMHO
should be requested, not the default, so I would turn your flag around
to force LOCAL, not GLOBAL.
--
George george@mvista.com
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Real time sched: http://sourceforge.net/projects/rtsched/
next prev parent reply other threads:[~2001-12-20 22:26 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-20 21:11 [RFC] Scheduler issue 1, RT tasks Davide Libenzi
2001-12-20 22:25 ` george anzinger [this message]
2001-12-20 22:21 ` Momchil Velikov
2001-12-20 22:57 ` Davide Libenzi
2001-12-21 17:00 ` Mike Kravetz
2001-12-21 17:19 ` Davide Libenzi
2001-12-21 17:33 ` Mike Kravetz
2001-12-21 18:29 ` Davide Libenzi
2001-12-24 0:18 ` Victor Yodaiken
2001-12-24 1:31 ` Davide Libenzi
2001-12-24 5:33 ` Victor Yodaiken
2001-12-24 18:52 ` Davide Libenzi
2001-12-27 3:01 ` Victor Yodaiken
2001-12-27 17:41 ` Davide Libenzi
2001-12-28 0:05 ` Victor Yodaiken
2001-12-28 0:48 ` Davide Libenzi
2001-12-20 22:36 ` Davide Libenzi
2001-12-24 0:19 ` Victor Yodaiken
2001-12-24 1:20 ` Davide Libenzi
2001-12-27 3:42 ` Victor Yodaiken
2001-12-27 17:48 ` Davide Libenzi
-- strict thread matches above, loose matches on Subject: below --
2001-12-28 9:45 Martin Knoblauch
2001-12-29 9:12 ` george anzinger
2001-12-29 19:02 Dieter Nützel
2001-12-29 21:00 ` Andrew Morton
2001-12-29 22:24 ` Davide Libenzi
[not found] <200112291907.LAA25639@messenger.mvista.com>
2001-12-30 10:01 ` george anzinger
2001-12-30 19:54 ` Dieter Nützel
2001-12-31 13:56 ` george anzinger
2002-01-01 18:55 ` Dieter Nützel
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=3C22654D.7FC80713@mvista.com \
--to=george@mvista.com \
--cc=davidel@xmailserver.org \
--cc=linux-kernel@vger.kernel.org \
/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.