From: george anzinger <george@mvista.com>
To: "Perez-Gonzalez, Inaky" <inaky.perez-gonzalez@intel.com>
Cc: "'Andrew Morton'" <akpm@digeo.com>,
"'joe.korty@ccur.com'" <joe.korty@ccur.com>,
"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
"'mingo@elte.hu'" <mingo@elte.hu>, "Li, Adam" <adam.li@intel.com>,
Robert Love <rml@mvista.com>
Subject: Re: O(1) scheduler seems to lock up on sched_FIFO and sched_RR ta sks
Date: Thu, 19 Jun 2003 09:00:53 -0700 [thread overview]
Message-ID: <3EF1DE35.20402@mvista.com> (raw)
In-Reply-To: <A46BBDB345A7D5118EC90002A5072C780DD16DB0@orsmsx116.jf.intel.com>
Perez-Gonzalez, Inaky wrote:
> Hi All
>
> I have another test case that is showing this behavior.
> It is very similar to George's, however, it is a simplification
> of another one using threads that a co-worker, Adam Li found
> a few days ago.
>
> Parent (FIFO 5) forks child that sets itself to FIFO 4 and
> busy loops, then it sleeps five seconds and kills the child.
>
> Doing SysRq + T after a while shows the parent'd call trace
> to be at sys_rt_sigaction+0xd1, that is just inside the final
> copy_to_user() in signal.c:sys_rt_sigaction().
>
> Reprioritizing events/0 to FIFO 5+ fixes the inversion.
>
> If I call nanosleep directly (with system() instead of
> glibc's sleep(), so I avoid all the rt_sig calls),
> I get the parent process always stuck in work_resched+0x5,
> in entry.S:work_resched, just after the call to the
> scheduler - however, I cannot trace what is happening
> inside the scheduler.
>
> My point here is: I am trying to trace where this program
> is making use of workqueues inside of the kernel, and I
> can find none. The only place where I need to look some
> more is inside the timer code, but in a quick glance,
> it seems it is not being used, so why is it affected by
> the reprioritization of the events/0 thread? George, can
> you help me here?
>
Hm! I wonder. Robert is working on a fix for schedsetschedule()
where it fails to actually tell the scheduler to switch to a process
that it just made higher priority or away from one it just lowered.
The net result is that the caller keeps running (FIFO for all in this
case) when, in fact it should have been switched out. Next time
schedule() actually switches, it is all sorted out again. Could the
elavation of the events/0 thread cause this needed switch?
-g
> kernel is 2.5.67, SMP and PREEMPT with maxcpus=1; tomorrow
> I will try .72 ...
>
> Iñaky Pérez-González -- Not speaking for Intel -- all opinions are my own
> (and my fault)
>
>
--
George Anzinger george@mvista.com
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml
next prev parent reply other threads:[~2003-06-19 15:47 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-19 6:06 O(1) scheduler seems to lock up on sched_FIFO and sched_RR ta sks Perez-Gonzalez, Inaky
2003-06-19 6:07 ` Ingo Molnar
2003-06-19 16:00 ` george anzinger [this message]
2003-06-19 17:19 ` 'joe.korty@ccur.com'
2003-06-19 17:23 ` Robert Love
2003-06-19 17:28 ` Joe Korty
2003-06-19 17:45 ` [patch] setscheduler fix Robert Love
2003-06-19 18:20 ` Joe Korty
2003-06-19 18:38 ` Robert Love
2003-06-19 19:09 ` Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2003-06-20 2:53 O(1) scheduler seems to lock up on sched_FIFO and sched_RR ta sks Perez-Gonzalez, Inaky
2003-06-19 19:22 Perez-Gonzalez, Inaky
2003-06-19 18:31 Perez-Gonzalez, Inaky
2003-06-19 18:36 ` Robert Love
2003-06-19 6:52 Perez-Gonzalez, Inaky
2003-06-19 17:43 ` Robert Love
2003-06-19 4:38 Perez-Gonzalez, Inaky
2003-06-19 2:55 Perez-Gonzalez, Inaky
2003-06-19 1:44 Perez-Gonzalez, Inaky
2003-06-19 1:58 ` Robert Love
2003-06-19 2:02 ` george anzinger
2003-06-19 4:34 ` 'joe.korty@ccur.com'
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=3EF1DE35.20402@mvista.com \
--to=george@mvista.com \
--cc=adam.li@intel.com \
--cc=akpm@digeo.com \
--cc=inaky.perez-gonzalez@intel.com \
--cc=joe.korty@ccur.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rml@mvista.com \
/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