public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Fabiano Ramos" <ramos_fabiano@yahoo.com.br>
To: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Cc: linux-kernel@vger.kernel.org
Subject: Re: task switching at Page Faults
Date: Mon, 19 Apr 2004 17:12:30 -0300 (ART)	[thread overview]
Message-ID: <20040419201230.45125.qmail@web20210.mail.yahoo.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0404192146330.31901@artax.karlin.mff.cuni.cz>

 --- Mikulas Patocka
<mikulas@artax.karlin.mff.cuni.cz> escreveu: > > Hi
all.
> >
> > 	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
Fabiano



> 
> > 	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
COPPE / UFRJ
http://www.cos.ufrj.br/~ramosf
ramosf@cos.ufrj.br

______________________________________________________________________

Yahoo! Messenger - Fale com seus amigos online. Instale agora! 
http://br.download.yahoo.com/messenger/

  reply	other threads:[~2004-04-19 20:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-19 18:32 task switching at Page Faults Fabiano Ramos
2004-04-19 19:49 ` Mikulas Patocka
2004-04-19 20:12   ` Fabiano Ramos [this message]
2004-04-19 23:07     ` Mikulas Patocka
2004-04-20  1:32 ` Richard B. Johnson
2004-04-20  8:16 ` Helge Hafting
     [not found] <1MN62-7wz-5@gated-at.bofh.it>
     [not found] ` <1MNpu-7QI-35@gated-at.bofh.it>
2004-04-19 21:52   ` Andi Kleen

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=20040419201230.45125.qmail@web20210.mail.yahoo.com \
    --to=ramos_fabiano@yahoo.com.br \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikulas@artax.karlin.mff.cuni.cz \
    /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