Hi all,
I have a question regarding mapping in L4:
I read in the L4 reference manual that Sigma0 maps each page only once. It does allow multiple mappings of a page to the same address space (i.e. task), but it does not allow multiple mappings to different tasks.
Is this a specific feature of Sigma0 or is this true of all pagers ?
I'm asking because I wonder how the fpage_unmap operation works: If a task is allowed to map a page to an unlimited number of different tasks (i.e. 2047 as there are up to 2048 tasks), then the bookkeeping involved in implementing fpage_unmap would require that a pager would theoretically need to keep track of up to 2047 tasks per page in order to allow fpage_unmap to revoke all mappings of a particular page.
That looks like a tremendous overhead, so there must either be some limit to the number of mappings or there is something else I'm missing.
Could someone please enlighten me about this ?
Thanks in advance
Rob
---------------------------------------------------------------- Robert Kaiser email: rkaiser@sysgo.de SYSGO RTS GmbH Carl-Zeiss-Str. 41 phone: (49) 6131 9138-80 D-55129 Mainz / Germany fax: (49) 6131 9138-10
On Mon, 22 Feb 1999, Robert Kaiser wrote:
Hi all,
I have a question regarding mapping in L4:
I read in the L4 reference manual that Sigma0 maps each page only once. It does allow multiple mappings of a page to the same address space (i.e. task), but it does not allow multiple mappings to different tasks.
A related question here. Is there any particular reason/need for sigma zero to be a once off pager? Why not have an inteligent resource manager for sigma zero?
Cheers Adam
"AW" == Adam 'WeirdArms' Wiggins awiggins@cse.unsw.edu.au writes:
AW> On Mon, 22 Feb 1999, Robert Kaiser wrote:
Hi all,
I have a question regarding mapping in L4:
I read in the L4 reference manual that Sigma0 maps each page only once. It does allow multiple mappings of a page to the same address space (i.e. task), but it does not allow multiple mappings to different tasks.
AW> A related question here. Is there any particular reason/need for AW> sigma zero to be a once off pager? Why not have an inteligent resource AW> manager for sigma zero?
Separation of policy and mechanism. It's the OS personality's business to sort this out, not the kernel's.
Gernot
Note that in a politically correct L4 (which the MIPS one isn't) \sigma_0 is not part of the kernel but runs at user level, and is bound to the kernel at boot image creation time (and can easily be exchanged for something different). However, if you're the one who's building the boot image, you can just as well rebuild the kernel with a different \sigma_0, so this isn't much of an issue.
-- Gernot Heiser ,--_|\ School of Computer Sci. & Engin. Phone: +61 2 9385 5156 / \ The University of NSW Fax: +61 2 9385 5995 _,--._* Sydney, Australia 2052 E-mail: G.Heiser@unsw.edu.au v http://www.cse.unsw.edu.au/~gernot PGP fingerprint = 94 1E B8 28 25 FD 7C 94 20 10 92 E5 0B FF 39 8F
What TID does the kernel use for its ipc to Sigma0 to request memory mapping for kernel usage. Cheers Adam
l4-hackers@os.inf.tu-dresden.de