[Top][All Lists]

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

Re: memory_object_lock_request and memory_object_data_return fnord

From: Thomas Bushnell, BSG
Subject: Re: memory_object_lock_request and memory_object_data_return fnord
Date: 13 Mar 2002 17:49:07 -0800
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1

Neal H Walfield <neal@cs.uml.edu> writes:

> What is the correct way to give the management of the page back to
> the kernel?  


> Perhaps, we could use the memory_object_data_supply
> message (and if we modified it, we could supply it as precious).
> _The Mach 3 Kernel Interfaces_ cautions against supplying data that
> has not been explicitly request, however, it does not prohibit it.

I believe the interface manual is concerned that there might well be
race conditions here.  

Note that you have provided a *clean* page back to the kernel (even if
it was dirty when you got it from the kernel); as a consequence, the
kernel might delete the page now, losing any changes that have been
made  So you must mark it precious even if you didn't modify it.  In
otherwords, the return of the page to you, and you supplying it back,
has cleared the dirty bit for the page.

> And yet, what if milliseconds from now we get another message to
> write to the page?  Again, we need to go through the same song and
> dance -- request the page, write to it and return it to the kernel.

Um, who is issuing these requests to you to write the page?

What is the problem you are trying to solve?

Ideally, if you need to write to the page, you do it the same way
libdiskfs does: map the pager yourself, and write to it that way.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]