linux/arch/um/os-Linux
Jeff Dike 64f60841c0 uml: speed page fault path
Give the page fault code a specialized path.  There is only one page to look
at, so there's no point in going into the general page table walking code.
There's only going to be one host operation, so there are no opportunities for
merging.  So, we go straight to the pte we want, figure out what needs doing,
and do it.

While I was in here, I fixed the wart where the address passed to unmap was a
void *, but an unsigned long to map and protect.

This gives me just under 10% on a kernel build.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-07 12:13:04 -07:00
..
drivers uml: convert libc layer to call read and write 2007-05-07 12:13:03 -07:00
include Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
skas uml: speed page fault path 2007-05-07 12:13:04 -07:00
sys-i386 uml: remove user_util.h 2007-05-07 12:13:01 -07:00
sys-x86_64 [PATCH] uml: use correct register file size everywhere 2007-03-27 09:05:15 -07:00
aio.c uml: aIO deadlock avoidance 2007-05-07 12:13:03 -07:00
elf_aux.c [PATCH] uml: host VDSO fix 2007-03-01 14:53:38 -08:00
execvp.c [PATCH] uml: make execvp safe for our usage 2006-11-25 13:28:34 -08:00
file.c uml: rename os_{read_write}_file_k back to os_{read_write}_file 2007-05-07 12:13:03 -07:00
helper.c uml: convert libc layer to call read and write 2007-05-07 12:13:03 -07:00
irq.c uml: remove user_util.h 2007-05-07 12:13:01 -07:00
main.c uml: add missing __init declarations 2007-05-07 12:13:01 -07:00
Makefile [PATCH] uml: make execvp safe for our usage 2006-11-25 13:28:34 -08:00
mem.c uml: convert libc layer to call read and write 2007-05-07 12:13:03 -07:00
process.c uml: convert libc layer to call read and write 2007-05-07 12:13:03 -07:00
sigio.c uml: convert libc layer to call read and write 2007-05-07 12:13:03 -07:00
signal.c uml: remove user_util.h 2007-05-07 12:13:01 -07:00
start_up.c uml: add missing __init declarations 2007-05-07 12:13:01 -07:00
time.c uml: remove user_util.h 2007-05-07 12:13:01 -07:00
tls.c [PATCH] uml: include tidying 2006-11-03 12:27:59 -08:00
trap.c uml: remove user_util.h 2007-05-07 12:13:01 -07:00
tt.c uml: remove page_size() 2007-05-07 12:13:02 -07:00
tty_log.c uml: convert libc layer to call read and write 2007-05-07 12:13:03 -07:00
tty.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uaccess.c [PATCH] uml: Use klibc setjmp/longjmp 2006-09-26 08:49:05 -07:00
umid.c [PATCH] uml: umid tidying 2007-02-11 10:51:24 -08:00
user_syms.c [PATCH] uml: export symbols added by GCC hardened 2006-05-01 18:17:45 -07:00
util.c uml: dump core on panic 2007-05-07 12:13:03 -07:00