public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Gregory Haskins <gregory.haskins.ml@gmail.com>
To: linux@sundmangroup.com
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
	rostedt@goodmis.org
Subject: Re: SCHED_FIFO & system()
Date: Fri, 18 Jan 2008 08:16:48 -0500	[thread overview]
Message-ID: <4790A6C0.7070002@gmail.com> (raw)
In-Reply-To: <37593.147.11.3.128.1200565147.squirrel@www.sundmangroup.com>

linux@sundmangroup.com wrote:
> Hello,
> I have some strange behavior in one of my systems.
> 
> I have a real-time kernel thread under SCHED_FIFO which is running every
> 10ms.
> It is blocking on a semaphore and released by a timer interrupt every 10ms.
> Generally this works really well.
> 
> However, there is a module in the system that makes a / system() / call
> from c-code in user-space;
> 
>   system("run_my_script");
> 
> By calling and running a bash script. Independent of how the actual
> script looks like the real time kernel thread does not get scheduled under
> the time of 80ms -- the time it takes for the system() call to finish.
> 
> I can see when running a LTT session that the wake_up event occurs for
> the real time thread 10ms into the system call but nevertheless the real
> time kernel thread does not get scheduled.
> 
> The thread that calls system("run_my_script") is configured as SCHED_OTHER.
> 
> The Kernel is 2.6.21.
> 
> 
> Anybody who recognize this or similar situations?


Hi,
   I am not sure if this is whats happening to you (*), but there is a 
known problem in the mainline tree related to the system allowing lower 
priority threads to stay on the CPU under certain circumstances.

You can see the problem happening with the following test:

http://rt.wiki.kernel.org/index.php/Preemption_Test

and I know the problem goes back to at least 2.6.16.

Steven Rostedt and I submitted some patches to address the issue, and 
they have been accepted into Ingo's sched-devel tree.  I would suggest 
trying your code against Ingo's tree and see if the problem persists. 
You can get it from:

git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel.git

In the event that this does fix your issue, I will defer to Ingo for 
if/when he plans to push these upstream.

(*) I have no information on whether the futex-plist implemetation was 
pulled from the tree to cause your regression.  It is possible that the 
changes between 22 and 23 are just tickling your environment enough to 
bring out this RT-preempt issue.

HTH!

Regards,
-Greg

  parent reply	other threads:[~2008-01-18 13:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-17 10:19 SCHED_FIFO & system() linux
2008-01-18  6:41 ` Matias Sundman
2008-01-18 13:16 ` Gregory Haskins [this message]
2008-01-18 13:31   ` Gregory Haskins
2008-01-18 16:37 ` Steven Rostedt

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=4790A6C0.7070002@gmail.com \
    --to=gregory.haskins.ml@gmail.com \
    --cc=gregory.haskins@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@sundmangroup.com \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox