From: John Navil Joseph <cs99185@nitc.ac.in>
To: linux-mm@kvack.org
Subject: Doubt in pagefault handler..!
Date: Tue, 4 Feb 2003 18:49:44 +0100 [thread overview]
Message-ID: <20030204174944.GA836@192.168.3.73> (raw)
[-- Attachment #1: Type: text/plain, Size: 1613 bytes --]
Hi,
I am trying to implement Distributed Shared Memory for LInux. I am planning to
implement this in the same lines as of SystemV IPC shared Memory. Well in this case the processes involved in the DSM may be present in any computer across the network.
*) on the occurence of a pagefault (in the VMA correspnding to the DSM) it may be necessary for me to fetch
the physical pages remotely across the network. So my page fault handler may need to prempt the faulting process
till the page is fetched from across the network. I am not sure how this is to be done.
I assume that i can deal with the page fault handler just as any other interrupt handler and proceed to do the
following.
1) add the current process to a wait queue
2) invoke schedule() from the page fault handler
3) wake up the process after the transfer has been completed.
now my question is
is it possible to invoke schedule() from page fault handler. ?
I know that the hardware restarts the faulting instruction after handling the interrupt..
so if i invoke schedule() from the pf handler.. then how will the interupt return..
and how does hardware handle this situation ?
i tried to trace pagefault handler all the way down to where the acutal IO takes palce incase
of the transfer of page from swap to memory..But i never saw schedule() anywhere. But i know that
process sleeps on page I/O .. then how and where does this sleeping takes place.?
please forgive me as my knowledge about the linux MM is inconsistent.
I hope that my questions are clear.
TIA
john
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next reply other threads:[~2003-02-04 13:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-04 17:49 John Navil Joseph [this message]
2003-02-05 8:48 ` Andrew Morton
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=20030204174944.GA836@192.168.3.73 \
--to=cs99185@nitc.ac.in \
--cc=linux-mm@kvack.org \
/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