git: kernel - Introduce lightweight buffers

看板DFBSD_commit作者時間16年前 (2010/03/19 07:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
commit 5c5185ae1c44d1e9a2eb9d6d55dd551a57aa9ef1 Author: Samuel J. Greear <sjg@thesjg.com> Date: Tue Mar 9 02:24:55 2010 -0700 kernel - Introduce lightweight buffers * Summary: The lightweight buffer (lwbuf) subsystem is effectively a reimplementation of the sfbuf (sendfile buffers) implementation. It was designed to be lighter weight than the sfbuf implementation when possible, on x86_64 we use the DMAP and the implementation is -very- simple. It was also designed to be more SMP friendly. * Replace all consumption of sfbuf with lwbuf * Refactor sfbuf to act as an external refcount mechanism for sendfile(2), this will probably go away eventually as well. Summary of changes: share/man/man9/Makefile | 1 + share/man/man9/lwbuf.9 | 112 +++++++++++++++ sys/boot/common/help.common | 5 - sys/boot/common/loader.8 | 6 - sys/boot/forth/loader-bootp.conf | 1 - sys/boot/forth/loader.conf | 1 - sys/cpu/i386/include/lwbuf.h | 85 ++++++++++++ sys/cpu/i386/misc/lwbuf.c | 203 ++++++++++++++++++++++++++++ sys/cpu/x86_64/include/lwbuf.h | 80 +++++++++++ sys/cpu/x86_64/misc/lwbuf.c | 97 +++++++++++++ sys/kern/imgact_elf.c | 21 ++-- sys/kern/kern_exec.c | 17 ++- sys/kern/kern_sfbuf.c | 209 +++++++---------------------- sys/kern/kern_subr.c | 15 +- sys/kern/kern_umtx.c | 13 +- sys/kern/kern_xio.c | 35 +++--- sys/kern/subr_param.c | 11 +-- sys/kern/uipc_syscalls.c | 60 ++------ sys/platform/pc32/conf/files | 1 + sys/platform/pc32/i386/genassym.c | 1 + sys/platform/pc32/i386/globals.s | 3 + sys/platform/pc32/include/globaldata.h | 4 + sys/platform/pc64/conf/files | 1 + sys/platform/vkernel/conf/files | 1 + sys/platform/vkernel/i386/genassym.c | 1 + sys/platform/vkernel/i386/global.s | 3 + sys/platform/vkernel/include/globaldata.h | 4 + sys/platform/vkernel/platform/copyio.c | 18 ++-- sys/sys/exec.h | 6 +- sys/sys/imgact.h | 2 +- sys/sys/sfbuf.h | 40 ++---- sys/vfs/tmpfs/tmpfs_vnops.c | 1 - sys/vm/vm_fault.c | 11 +- sys/vm/vnode_pager.c | 11 +- 34 files changed, 751 insertions(+), 329 deletions(-) create mode 100644 share/man/man9/lwbuf.9 create mode 100644 sys/cpu/i386/include/lwbuf.h create mode 100644 sys/cpu/i386/misc/lwbuf.c create mode 100644 sys/cpu/x86_64/include/lwbuf.h create mode 100644 sys/cpu/x86_64/misc/lwbuf.c http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5c5185ae1c44d1e9a2eb9d6d55dd551a57aa9ef1 -- DragonFly BSD source repository
文章代碼(AID): #1Beh2nqZ (DFBSD_commit)
文章代碼(AID): #1Beh2nqZ (DFBSD_commit)