lkml.org 
[lkml]   [2007]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 17/17] (Avoid overload)

On Sat, 17 Nov 2007, Gregory Haskins wrote:

> >>> On Sat, Nov 17, 2007 at 1:33 AM, in message
> > This patch changes the searching for a run queue by a waking RT task
> > to try to pick another runqueue if the currently running task
> > is an RT task.
> >
> > The reason is that RT tasks behave different than normal
> > tasks. Preempting a normal task to run a RT task to keep
> > its cache hot is fine, because the preempted non-RT task
> > may wait on that same runqueue to run again unless the
> > migration thread comes along and pulls it off.
> >
> > RT tasks behave differently. If one is preempted, it makes
> > an active effort to continue to run. So by having a high
> > priority task preempt a lower priority RT task, that lower
> > RT task will then quickly try to run on another runqueue.
> > This will cause that lower RT task to replace its nice
> > hot cache (and TLB) with a completely cold one. This is
> > for the hope that the new high priority RT task will keep
> > its cache hot.
> >
> > Remeber that this high priority RT task was just woken up.
> > So it may likely have been sleeping for several milliseconds,
> > and will end up with a cold cache anyway. RT tasks run till
> > they voluntarily stop, or are preempted by a higher priority
> > task. This means that it is unlikely that the woken RT task
> > will have a hot cache to wake up to. So pushing off a lower
> > RT task is just killing its cache for no good reason.
>
> You make some excellent points here. Out of curiosity, have you tried a comparison to see if it helps?

hehe, I was waiting for the "where's the numbers". Right now I don't have
them. Mainly because I don't have boxes with more that 4 CPUs on them. And
4 really doesn't make much of a difference.

If others out there would like to test, I'll write up a couple of versions
of this code and that way we can really get numbers for them.

Or perhaps someone would like to send me a 16way box. Although my wife
would kill me. ;-)

Hmm, I'm sure I can get to our lab and run some tests too.

-- Steve

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-11-17 19:59    [W:0.149 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site