Re: task switching at Page Faults

From: Fabiano Ramos
Date: Mon Apr 19 2004 - 15:14:20 EST

--- Mikulas Patocka
<mikulas@xxxxxxxxxxxxxxxxxxxxxxxx> escreveu: > > Hi
> >
> > I am in doubt about the linux kernel behaviour is
> this situation:
> > supose a have the process A, with the highest
> realtime
> > priority and SCHED_FIFO policy. The process then
> issues a syscall,
> > say read():
> >
> > 1) Can I be sure that there will be no process
> switch during the
> > syscall processing, even if the system call causes
> a page fault?
> No. If the data read is not in cache and if read
> operations causes page
> fault there will be process switch.
> Additionally, if you don't mlock memory, there can
> be process switch at
> any place, because of page faults on code pages or
> swapping of data pages.

I was reading the book "Understanding the Linux
kernel", about 2.4, and the authors:
1)assure that there is no process switch during
the execution of an eception handler (aka syscall).
they emphasize it.
2) say that the execption handler may not generate
exceptions, except for page faults.

So, if process switching occurs at page faults, I
was wondering which statement is true of if I am
missing sth.
You mentioned page faults due to code. Aren´t the
syscall handlers located in mlocked?

Thanks again

> > 2) What if the process was a non-realtime
> processes (ordinary
> > one, SCHED_OTHER)?
> There can be process switches too.
> Mikulas

Fabiano Ramos
Mestrando em Engenharia de Sistemas e Computação


Yahoo! Messenger - Fale com seus amigos online. Instale agora!
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at