Re: How can I serve page fault requests asynchronously?

Perhaps I’m missing something…

Isn’t the usual procedure that you get a read request and the calling process is stalled until you complete the IRP? So if you don’t complete it, the IRP will hang around, possibly forever, making the process stop too. When you finally complete the IRP the process gets woken up. Since the file systems can handle multiple outstanding requests this shouldn’t stop more than the one process.

In short, I don’t see the problem… which is why I think I must be missing something!


---- you wrote:

Lets say that I wrote a file system driver (WinNT). Now lets suppose that a
page fault occurs since a required page in memory was missing and that the
device driver that I wrote receives the read request (after the I/O Manager
directed the IRP to it).
My question:
How can I release the page fault exception WITHOUT bringing the required
page! and of course cause the system NOT to run this process until I get
the required page for it (and then somehow signal the system that the page
is valid and that the process can be resumed). What I mean is: how can I
serve page fault requests asynchronously?
If this question requires a long reply, then please point me to a page in a
book or a web link.

Many thanks, Alon.

You are currently subscribed to ntfsd as:
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

Get your free email from AltaVista at