linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nivedita Singhvi <niv@us.ibm.com>
To: David L <idht4n@gmail.com>
Cc: linux-rt-users@vger.kernel.org
Subject: Re: idle task starvation with rt patch
Date: Wed, 06 May 2009 16:18:14 -0700	[thread overview]
Message-ID: <4A021AB6.3090807@us.ibm.com> (raw)
In-Reply-To: <b79371120905061519qd90401boedccfd39ff7f21eb@mail.gmail.com>

David L wrote:

> In mainline, we have our receiver application schedules about
> 6 threads, all with SCHED_FIFO priority between about 65 and 97.
> After applying the real-time patch, I noticed some IRQ handling
> processes that appeared to have a real-time priority of about 50.
> So I tried adjusting our application's priority to have only one thread
> with priority higher than 50 (the one with the real-time requirements
> that nomincally uses about 250 usec per msec of CPU).

Right - the bulk of the interrupt overhead (including
processing of softirqs etc) would not occur (or rather,
would not be allowed to preempt your SCHED_FIFO task at 
higher priority).

> Our receiver process which tracks RF signals based on the
> information from an FPGA that provides baseband accumulated
> samples at about 1000 times per second.  It has some lower
> priority SCHED_FIFO threads that have relatively loose timing
> constraints but do need about a second of CPU time every few
> seconds to prevent a queue overflow that causes the process
> to assert and crash by design.

A second of CPU time every few seconds sounds like a
lot, actually - even if lower priority, it still sounds
like it's a must-happen, and you might need to bump up
its priority(?).

> The priorities all seem to be set right... without the real-time
> patches, it seems that the kernel isn't real-time enough to
> meet our timing requirements in some cases.  With the real-time
> patches, the CPU loading for the identical process goes from
> about 50% to about 100%.  I'm wondering why there is such
> a dramatic difference in CPU usage.

You might need to instrument it further or use ftrace
to figure out what's happening. RT is slower to process
incoming interrupts (kernel threads vs softirqs) so it
might be a factor - do you use affinity to pin threads
and/or interrupts? You might be able to play with that
to perhaps avoid the problem. It should not behave this
differently, but I could be wrong...

thanks,
Nivedita

  reply	other threads:[~2009-05-06 23:18 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-06 19:47 idle task starvation with rt patch David L
2009-05-06 21:04 ` Nivedita Singhvi
2009-05-06 22:19   ` David L
2009-05-06 23:18     ` Nivedita Singhvi [this message]
2009-05-07  5:29       ` Sujit Karataparambil
2009-05-07 13:01         ` David L
2009-05-07 13:15           ` Sujit Karataparambil

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=4A021AB6.3090807@us.ibm.com \
    --to=niv@us.ibm.com \
    --cc=idht4n@gmail.com \
    --cc=linux-rt-users@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).