]> Zhao Yanbai Git Server - minix.git/commit
Slightly faster IPC
authorTomas Hruby <tom@minix3.org>
Mon, 29 Mar 2010 11:16:37 +0000 (11:16 +0000)
committerTomas Hruby <tom@minix3.org>
Mon, 29 Mar 2010 11:16:37 +0000 (11:16 +0000)
commit2521cc6bdf872059baaf895e36974b8ce86b609c
tree98aadf9564aef8cf6f55a05ce4842f9c47571059
parentb4cf88a04f691eab981cab4d0f11472982e6e091
Slightly faster IPC

- 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.
kernel/proc.c