Re: Why can't an ISR cause a page fault?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/23/07, Daniel Rodrick <daniel.rodrick@xxxxxxxxx> wrote:
> > Hi,
> >
> > I read that ISRs can never cause a page fault. Why is that? What would
> > happen if an ISR tries to use a data item that has been swapped out?

> Just a guess, when page fault occurs, page fault handler is invoked
> which is another ISR. This page fault handler handler does the
> required stuff like bringing the data in to memory etc. This
> introduces delays , and delayes are not supposed to be there in ISR. I
> think when a process causes a page fault, it may sleep (and ive away
> cpu to others ! ) till the page is made availabe in memory. But I
> think, I am just listing out the reasons why ISR 'should not' cause
> page fault.
>

Okay let me rephrase my question:

1) I read that an ISR cannot cause a page fault. Is the statement true?

2) In the case it is true, how are situations like this handled : an
ISR tries to use a data item that has been swapped out?

3) I have the following argument that convinces me that the statement
is false. When an ISR causes a page fault, the page fault handler is
invoked since its priority is higher. When it finishes the control
goes back to ISR, just like the normal case of nested ISR execution.
Hence an ISR can cause page fault. Is any thing wrong with this
argument?

Thanks,

Dan


1) I read that an ISR cannot cause a page fault. Is the statement true?

->"But interrupt handlers never perform operations that could
induce page faults and thus, potentially, process switching."

Reference Chapter 4. Interrupts and Exceptions, Understanding the
Linux kernel by Daniel Bovet and Marco Cesati

2) In the case it is true, how are situations like this handled : an
ISR tries to use a data item that has been swapped out?

-> I think the other response from me might be of some help.

3) Check your premises.
--

Regards,
Sandeep.
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

[Index of Archives]     [Audio]     [Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Fedora Users]

  Powered by Linux