Re: Question about memory management in L4 Fiasco O.C + L4re
Mahdi Aichouch <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <CAGBLRX7Y3at_vmNH2S27NwushFDNcqm+-zd1HaP3BVUuyYkG5w@mail.gmail.com> |
Hello Adam, If I correctly understood, and If we suppose that an L4Linux instance is started for example with this command line options: ... earlyprintk=1 em=64M ... This means that a 64MB of physical memory region composed of a set of contiguous physical frames is allocated to L4Linux, right? L4Linux will use a part of this 64MB of physical memrory for its own kernel execution, and the rest of physical memory space will be used by L4Linux to load user-level programs and allocate physical memory for them, right? If a user-level program on top of L4Linux generates a page-fault. Are the L4 Fiasco kernel and L4re involved in the execution flow to handle the page-fault? Thank you very much for your clarification. Best regards, Mahdi On Fri, Jul 17, 2015 at 10:36 AM, Mahdi Aichouch <[email protected]> wrote: > Hello Adam, > > The memory regions are exclusive. Specifying exactly which physical >> memory an L4Linux is getting is currently not possible but I guess >> you're using the numbers just as an example? > > > Yes, I am giving these numbers as an example. > However, is it possible to know what are the start address and the end address > of a physical memory partition allocated to a L4Linux instance? > > The memory is completely mapped initially, so no page fault should >> happen. As probably nobody will take it away again it should also stay >> like this. > > Does this apply also to user-level programs executed on top of L4Linux. > > You can put showpfexc=1 on the cmdline to see any in-kernel page fault. >> > There shouldn't be any (except in the outside wrapper code as I see >> which can be changed by launching L4Linux with the eager_map flag). > > Could please give some explanation about what is the wrapper code? And Where to set the "eager_map flag" option? > > Thank you very much for your answer! > > Best regards, > > Mahdi > > > > On Wed, Jul 15, 2015 at 11:53 AM, Mahdi Aichouch <[email protected]> > wrote: > >> Hello, >> >> I have some questions concerning memory management in Fiasco O.C + L4re. >> >> I would like to test two L4Linux instances, and for each L4Linux >> instance I want to reserve one static fixed physical memory partition. >> >> For instance, one 128MB for the first L4Linux and one 128MB for the >> second. >> >> Knowing that Fiasco O.C. uses "on demand paging" to allocate pages for >> user tasks, is it possible that each partition of L4Linux could be >> allocated >> a static physical memory region composed of contiguous physical frames. >> >> For instance, one memory region starting from 128MB to 256MB for the >> first L4Linux, >> and second memory region from 256MB to 512MB for the second L4Linux. >> Each memory region is allocated exclusively to one L4Linux instance. >> >> I would like to know if it is possible to load all the code + data of a >> L4Linux instance >> into its reserved memory partition, so no page fault will be encountered >> during runtime. >> >> Is it possible to tell me if these above operations could be realized in >> Fiasco O.C and L4re? >> >> If the answer is yes, is it possible to tell me what are the objects that >> should be used or >> adapted in order to implement these? >> >> What are the issues that I should pay attention to? >> >> Many thanks in advance for your answer. >> >> Best regards, >> >> Mahdi >> >> >> >> >> > _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers