Date: Mon, 26 Feb 2007 20:52:25 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: current@FreeBSD.org Cc: performance@FreeBSD.org Subject: HEADS UP: UNIX domain socket locking changes merged to CVS HEAD Message-ID: <20070226204916.C56223@fledge.watson.org>
next in thread | raw e-mail | index | archive | help
Dear all, After on-and-off development since 2005, I've now merged the UNIX domain socket locking patch. Special thanks to Kris Kennaway who has been providing stability testing, performance testing, and general support and feedback for this project since inception. Please let me know if you experience any problems with UNIX domain sockets -- these changes will affect applications that consume UNIX domain sockets directly, like MySQL and Postfix, as well as consumers of POSIX fifos, which are implemented using UNIX domain sockets in-kernel. Thanks, Robert N M Watson Computer Laboratory University of Cambridge ---------- Forwarded message ---------- Date: Mon, 26 Feb 2007 20:47:52 +0000 (UTC) From: Robert Watson <rwatson@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sys unpcb.h src/sys/kern uipc_usrreq.c rwatson 2007-02-26 20:47:52 UTC FreeBSD src repository Modified files: sys/sys unpcb.h sys/kern uipc_usrreq.c Log: Revise locking strategy used for UNIX domain sockets in order to improve concurrency: - Add per-unpcb mutexes protecting unpcb connection state, fields, etc. - Replace global UNP mutex with a global UNP rwlock, which will protect the UNIX domain socket connection topology, v_socket, and be acquired exclusively before acquiring more than per-unpcb at a time in order to avoid lock order issues. In performance measurements involving MySQL, this change has little or no overhead on UP (+/- 1%), but leads to a significant (5%-30%) improvement in multi-processor measurements using the sysbench and supersmack benchmarks. Much testing by: kris Approved by: re (kensmith) Revision Changes Path 1.197 +468 -222 src/sys/kern/uipc_usrreq.c 1.22 +1 -0 src/sys/sys/unpcb.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070226204916.C56223>