f51eea4b32
this patch changes the way pagefaults are delivered to VM. It adopts the same model as the out-of-quantum messages sent by kernel to a scheduler. - everytime a userspace pagefault occurs, kernel creates a message which is sent to VM on behalf of the faulting process - the process is blocked on delivery to VM in the standard IPC code instead of waiting in a spacial in-kernel queue (stack) and is not runnable until VM tell kernel that the pagefault is resolved and is free to clear the RTS_PAGEFAULT flag. - VM does not need call kernel and poll the pagefault information which saves many (1/2?) calls and kernel calls that return "no more data" - VM notification by kernel does not need to use signals - each entry in proc table is by 12 bytes smaller (~3k save) |
||
---|---|---|
.. | ||
ack | ||
csu | ||
libc | ||
libcurses | ||
libdriver | ||
libedit | ||
libend | ||
libm | ||
libnetdriver | ||
libsys | ||
libtimers | ||
libutil | ||
ack_build.sh | ||
gnu_build.sh | ||
Makefile | ||
README |
ack_build.sh - for ACK library building gnu_build.sh - for GNU library building ack_build.sh obj - create objdirs for gnu libraries ack_build.sh depend - find dependencies of ack libraries ack_build.sh all - compile ack libraries ack_build.sh install - compile and install ack libraries ack_build.sh clean - clean for ack libraries gnu_build.sh obj - create objdirs for gnu libraries gnu_build.sh depend - find dependencies of gnu libraries gnu_build.sh all - compile gnu libraries gnu_build.sh install - compile and install gnu libraries gnu_build.sh clean - clean for gnu libraries