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 <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED], [EMAIL PROTECTED], 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
_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to