2521cc6bdf
- there are cycles wasted in the IPC call due to a fairly compliacted way of copying messages from userland to kernel. Sometimes this complicated way (generic though) is used even for copying within the kernel address space, sometimes it is used for copying in case _no_ copying is necessary. The goal of this patch is to improve this a little bit. - the places where a copy is from user to kernel use the copy_msg_from_user() kernel-kernel copies are turned into assignments and BuildNotifyMessage uses the delivery buffers to avoid copying. - copy_msg_from_user() was introduced when removing the system task and is about 2/3 faster then using the current mechanism (phys_copy). It also avoids the PHYS_COPY_CATCH macro. Assignment is also faster and no copy is the fastest ;-) so perhaps there will be some hardly noticable performance gain besides the clean up. |
||
---|---|---|
.. | ||
arch/i386 | ||
system | ||
clock.c | ||
clock.h | ||
config.h | ||
const.h | ||
debug.c | ||
debug.h | ||
glo.h | ||
interrupt.c | ||
ipc.h | ||
kernel.h | ||
main.c | ||
Makefile | ||
priv.h | ||
proc.c | ||
proc.h | ||
profile.c | ||
profile.h | ||
proto.h | ||
start.c | ||
system.c | ||
system.h | ||
table.c | ||
type.h | ||
utility.c | ||
vm.h | ||
watchdog.c | ||
watchdog.h |