From: Young Koh <young.koh@gmail.com>
To: Jeff Dike <jdike@addtoit.com>
Cc: user-mode-linux-devel@lists.sourceforge.net
Subject: Re: [uml-devel] a question about sigsetjmp() in copy_from/to_user()
Date: Wed, 28 Sep 2005 15:25:01 -0400 [thread overview]
Message-ID: <3524bf1f0509281225180173ae@mail.gmail.com> (raw)
In-Reply-To: <20050928145009.GA11610@ccure.user-mode-linux.org>
hi,
On 9/28/05, Jeff Dike <jdike@addtoit.com> 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
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2005-09-28 19:50 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-27 14:06 [uml-devel] a question about sigsetjmp() in copy_from/to_user() Young Koh
2005-09-27 17:28 ` Jeff Dike
2005-09-28 11:59 ` Blaisorblade
2005-09-28 13:47 ` Young Koh
2005-09-28 14:50 ` Jeff Dike
2005-09-28 19:25 ` Young Koh [this message]
2005-09-29 12:09 ` Blaisorblade
2005-09-30 15:08 ` Young Koh
2005-09-30 15:44 ` Geert Uytterhoeven
2005-10-02 1:03 ` Jeff Dike
2005-10-02 10:23 ` Blaisorblade
2005-10-02 18:31 ` Jeff Dike
2005-10-03 18:35 ` Blaisorblade
2005-10-03 20:38 ` Jeff Dike
2005-09-28 16:09 ` Jeff Dike
2005-09-28 17:26 ` Blaisorblade
2005-09-28 18:43 ` Jeff Dike
2005-09-28 8:41 ` Blaisorblade
2005-09-28 14:22 ` Young Koh
2005-09-28 16:43 ` Blaisorblade
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3524bf1f0509281225180173ae@mail.gmail.com \
--to=young.koh@gmail.com \
--cc=jdike@addtoit.com \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.