Re: unmap() sometimes unmaps more pages than specified

Frank Mehnert <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Organization InnoTek Systemberatung GmbH
Message-ID <[email protected]>
On Thursday 22 June 2006 14:11, Espen Skoglund wrote:
> Uh... some confusion here.  Does f=0 here mean unmap and f=1 mean
> flush?  Let's try to clear it up:

I denoted the f bit of the control word in the unmap() syscall.

> You have two spaces A and B.  A has a 4MB page mapping.  B has
> received a 4KB page mapping from A.  Currently we have:
>
>   (1)  A.Flush(4K) == A.Flush(4M) since A has a 4MB mapping.
>   (2)  Likewise A.Unmap(4K) == A.Unmap(4M) since A has a 4MB mapping.
>   (3)  B.Flush(4K) is fine since B has a 4KB mapping.
>   (4)  Consequently A.Unmap(4K) != B.Flush(4K).
>
> I guess (4) is what you find difficult to handle, right?  This would
> work fine if (2) was not the case.  Currently the implementation does

Exactly!

> (obviously) not behave this way.  I'll give some thought to how this
> could most easily be handled.  The behaviour also raises some
> questions about the semantics of resetting/reading reference bits, but
> I think this could possibly be sorted out.

Would greatly appreciate if that issue could be handled. I will prevent
4M mappings in my scenario so far.

Thanks in advance,

Frank
-- 
## InnoTek Systemberatung GmbH, http://www.innotek.de ##
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQBEmoxC6z8pigLf3EcRAn6EAJ9bcjFQQFwI1F7+wZRkmNd/G6MZVQCfeogf
b7z0pK1mDmbuuPmu020buao=
=w11M
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.