All of lore.kernel.org
 help / color / mirror / Atom feed
* possible to livelock in mprotect() syscall?
@ 2003-02-12 19:22 Chris Friesen
  0 siblings, 0 replies; only message in thread
From: Chris Friesen @ 2003-02-12 19:22 UTC (permalink / raw)
  To: linux-kernel


Is it possible for ksoftirqd to have hold of some resource that other 
processes may need to obtain in the mprotect() syscall?

The background for this is as follows:

I've done some work with modifying the linux scheduler to support 
additional scheduling classes with limits on cpu percentages available 
for each class under stress.

We're hitting a strange scenario under the following conditions:

sched class A is given 90% of the cpu and is based on strict static 
priority scheduling

process x is put in sched class A with and is event driven

process y is put in sched class A with a lower priority than x and is a 
cpu hog

We would expect to see a background of y running, interrupted by x when 
it becomes runnable.

We seem to be seeing a case where process x calls mprotect() and then 
blocks while process y runs for large amounts of time.  Eventually we 
see ksoftirqd run and immediately after that process x wakes up and runs 
for a while, but by this time its too late and some timers have expired.

Hence the question--is it possible for ksoftirqd to have hold of some 
resource that process x tries to obtain in the mprotect() syscall?

Thanks,

Chris



-- 
Chris Friesen                    | MailStop: 043/33/F10
Nortel Networks                  | work: (613) 765-0557
3500 Carling Avenue              | fax:  (613) 765-2986
Nepean, ON K2H 8E9 Canada        | email: cfriesen@nortelnetworks.com


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-02-12 19:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-12 19:22 possible to livelock in mprotect() syscall? Chris Friesen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.