From owner-svn-src-head@FreeBSD.ORG Fri Apr 11 18:23:09 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1BA6A48C; Fri, 11 Apr 2014 18:23:09 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E6CAF1C6C; Fri, 11 Apr 2014 18:23:08 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id DF287B939; Fri, 11 Apr 2014 14:23:07 -0400 (EDT) From: John Baldwin To: "Bjoern A. Zeeb" Subject: Re: svn commit: r264321 - head/sys/netinet Date: Fri, 11 Apr 2014 14:17:57 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; ) References: <201404101815.s3AIFZx3065541@svn.freebsd.org> <2775D53A-8728-4E8D-B53D-ADC00649D737@FreeBSD.org> In-Reply-To: <2775D53A-8728-4E8D-B53D-ADC00649D737@FreeBSD.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Message-Id: <201404111417.57601.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Fri, 11 Apr 2014 14:23:08 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Apr 2014 18:23:09 -0000 On Friday, April 11, 2014 6:56:16 am Bjoern A. Zeeb wrote: > On 10 Apr 2014, at 18:15 , John Baldwin wrote: > > > +/* Global timewait lock */ > > +static VNET_DEFINE(struct rwlock, tw_lock); > > +#define V_tw_lock VNET(tw_lock) > > Why do we virtualise individual locks now? Usually we only do for those embedded into larger virtualised data structures? Does this align with an independently virtualised data structure (in which case the lock should be part of that)? The larger structure is currently a single TAILQ: static VNET_DEFINE(TAILQ_HEAD(, tcptw), twq_2msl); #define V_twq_2msl VNET(twq_2msl) Would seem overkill to make a separate struct just for the TAILQ_HEAD and lock? -- John Baldwin