git: kernel - Major MP work on kq and signal processing

看板DFBSD_commit作者時間14年前 (2011/11/10 10:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit e2b148c60d04976ee2f7c03874a91216c8c5b4c1 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Tue Nov 1 23:38:42 2011 -0700 kernel - Major MP work on kq and signal processing * Remove the global kq_token and move to a per-kq and per-kqlist pool token. This greatly improves postgresql and mysql performance on MP systems. * Adjust signal processing tokens to be per-LWP instead of per-PROC. Signal delivery still utilizes a per-proc token but signal distribution now uses a per-LWP token, which allows the trap code to only lock the LWP when checking for pending signals. This also significantly improves database performance. * The socket code also now uses only its per-socket pool token instead of kq_token for its kq operations. kq handles its own tokens. Summary of changes: sys/kern/init_main.c | 1 + sys/kern/kern_event.c | 132 +++++++++++++++++++++++++++++++++++++++-------- sys/kern/kern_exit.c | 2 + sys/kern/kern_fork.c | 1 + sys/kern/kern_sig.c | 120 +++++++++++++++++++++++++++++++++++++----- sys/kern/kern_synch.c | 19 ++++--- sys/kern/uipc_msg.c | 16 ++++-- sys/kern/uipc_socket2.c | 2 - sys/sys/event.h | 2 +- sys/sys/eventvar.h | 3 + sys/sys/proc.h | 1 + 11 files changed, 249 insertions(+), 50 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e2b148c60d04976ee2f7c03874a91216c8c5b4c1 -- DragonFly BSD source repository
文章代碼(AID): #1EkpVNUM (DFBSD_commit)