From: Andrew Morton <akpm@digeo.com>
To: george anzinger <george@mvista.com>
Cc: joe.korty@ccur.com, linux-kernel@vger.kernel.org, mingo@elte.hu
Subject: Re: O(1) scheduler seems to lock up on sched_FIFO and sched_RR tasks
Date: Wed, 18 Jun 2003 15:56:37 -0700 [thread overview]
Message-ID: <20030618155637.60b3e2f9.akpm@digeo.com> (raw)
In-Reply-To: <3EF0E7AC.60007@mvista.com>
george anzinger <george@mvista.com> wrote:
>
> Joe Korty wrote:
> > On Wed, Jun 18, 2003 at 09:47:24AM -0700, george anzinger wrote:
> >
> >>It seems that once a SCHED_FIFO or SCHED_RR tasks gets control it does
> >>not yield to other tasks of higher priority.
> >>
> >>Attached is a test program (busyloop) that just loops doing
> >>gettimeofday() for the requested time and a little utility (rt) to run
> >>programs at real time priorities.
> >>
> >>Here is an annotated example of the problem:
> >>
> >>First, become root then:
> >>
> >>>rt 90 bash <-- run bash at priority 90 SCHED_RR
> >>>rt -f 30 busyloop 10 & <-- busyloop 10 at priority 30 SCHED_FIFO
> >>
> >>At this point the bash at priority 90 should be available, but is not.
> >> When the 10 second busyloop completes, bash returns.
> >
> >
> >
> > Hi George,
> > When I boost the priority of each of the per-cpu 'events/%d' daemon to
> > 96, the problem goes away.
>
> Seems like your saying that the events workqueues are involved in the
> scheduler in some ugly way. Certainly not what your average rt
> programmer would expect :( What is going on here?
>
Various things like character drivers do rely upon keventd services. So it
is possible that bash is stuck waiting on keyboard input, but there is no
keyboard input because keventd is locked out.
I'll take a closer look at this, see if there is a specific case which can
be fixed.
Arguably, keventd should be running max-prio RT because it is a kernel
service, providing "process context interrupt service".
IIRC, Andrea's kernel runs keventd as SCHED_FIFO. I've tried to avoid
making this change for ideological reasons ;) Userspace is more important
than the kernel and the kernel has no damn right to be saying "oh my stuff
is so important that it should run before latency-critical user code".
Tricky.
next prev parent reply other threads:[~2003-06-18 22:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-18 16:47 O(1) scheduler seems to lock up on sched_FIFO and sched_RR tasks george anzinger
2003-06-18 19:34 ` Joe Korty
2003-06-18 22:29 ` george anzinger
2003-06-18 22:56 ` Andrew Morton [this message]
2003-06-18 22:57 ` Joe Korty
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=20030618155637.60b3e2f9.akpm@digeo.com \
--to=akpm@digeo.com \
--cc=george@mvista.com \
--cc=joe.korty@ccur.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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