hi,

On 9/28/05, Jeff Dike <[EMAIL PROTECTED]> wrote:
> On Wed, Sep 28, 2005 at 09:47:41AM -0400, Young Koh wrote:
> > yes, i think memory can go bad if 1) it cannot be allocated because of
> > filesystem full or similar reasons as Jeff described, or 2) it was
> > allocated once but could have been swapped.
> >
> > in case of 1) it should be more like kernel panic rather than just a
> > system call error, i think? because kernel cannot allocate any more
> > memory, which kernel is supposed to use.
>
> No, just that page is bad.  Another page could have been dirtied and thus
> allocated on the host, and it would be usable.  So, it's not a fatal problem.
>

then, if just that page is bad, shouldn't UML kernel wait until
another page is usable(or force another page to be swapped out) and
allocate the free page? and proceed normal? i may be still confused.

Ok, my thought/idea/suggestion is that what if UML uses a TLB-like
table before it does the address translation? i mean, once there is a
valid mapping, UML inserts the address mapping(or page mapping) into a
software TLB. after that, for that userspace address, UML can search
the software TLB table and use the mapping without calling sigsetjmp()
and walking through page tables. it seems that sigsetjmp() has
relatively large overhead, we could reduce some overhead by not
calling it. but surely the problem is the mapping can go corrupted.
for that, UML may invalidate a TLB entry if the corresponding page is
swapped out or any change is made. what do you think?

thank you,


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to