From owner-cvs-all@FreeBSD.ORG Fri Jun 18 02:58:35 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D9A3816A4CE; Fri, 18 Jun 2004 02:58:35 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D1EA643D41; Fri, 18 Jun 2004 02:58:35 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i5I2vtui084283; Fri, 18 Jun 2004 02:57:55 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from rwatson@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i5I2vthY084282; Fri, 18 Jun 2004 02:57:55 GMT (envelope-from rwatson) Message-Id: <200406180257.i5I2vthY084282@repoman.freebsd.org> From: Robert Watson Date: Fri, 18 Jun 2004 02:57:55 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/fs/fifofs fifo_vnops.c src/sys/kern uipc_socket.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jun 2004 02:58:36 -0000 rwatson 2004-06-18 02:57:55 UTC FreeBSD src repository Modified files: sys/fs/fifofs fifo_vnops.c sys/kern uipc_socket.c Log: Merge some additional leaf node socket buffer locking from rwatson_netperf: Introduce conditional locking of the socket buffer in fifofs kqueue filters; KNOTE() will be called holding the socket buffer locks in fifofs, but sometimes the kqueue() system call will poll using the same entry point without holding the socket buffer lock. Introduce conditional locking of the socket buffer in the socket kqueue filters; KNOTE() will be called holding the socket buffer locks in the socket code, but sometimes the kqueue() system call will poll using the same entry points without holding the socket buffer lock. Simplify the logic in sodisconnect() since we no longer need spls. NOTE: To remove conditional locking in the kqueue filters, it would make sense to use a separate kqueue API entry into the socket/fifo code when calling from the kqueue() system call. Revision Changes Path 1.99 +27 -6 src/sys/fs/fifofs/fifo_vnops.c 1.180 +26 -13 src/sys/kern/uipc_socket.c