From owner-svn-src-all@FreeBSD.ORG Mon Aug 11 13:47:38 2014 Return-Path: Delivered-To: svn-src-all@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 8AEC44BC; Mon, 11 Aug 2014 13:47:38 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2E35429C9; Mon, 11 Aug 2014 13:47:38 +0000 (UTC) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id s7BDlWoD085221 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 11 Aug 2014 16:47:32 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua s7BDlWoD085221 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id s7BDlWWL085220; Mon, 11 Aug 2014 16:47:32 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 11 Aug 2014 16:47:32 +0300 From: Konstantin Belousov To: Gleb Smirnoff Subject: Re: svn commit: r269807 - in head/sys: kern sys Message-ID: <20140811134732.GA2737@kib.kiev.ua> References: <53e8be4b.2c83.3b3d1940@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wRRV7LY7NUeQGEoC" Content-Disposition: inline In-Reply-To: <53e8be4b.2c83.3b3d1940@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Aug 2014 13:47:38 -0000 --wRRV7LY7NUeQGEoC Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Aug 11, 2014 at 12:59:55PM +0000, Gleb Smirnoff wrote: > Author: glebius > Date: Mon Aug 11 12:59:55 2014 > New Revision: 269807 > URL: http://svnweb.freebsd.org/changeset/base/269807 >=20 > Log: > Provide sf_buf_ref() to optimize refcounting of already allocated > sendfile(2) buffers. > =20 > Sponsored by: Netflix > Sponsored by: Nginx, Inc. >=20 > Modified: > head/sys/kern/subr_sfbuf.c > head/sys/kern/uipc_syscalls.c > head/sys/sys/sf_buf.h >=20 > Modified: head/sys/kern/subr_sfbuf.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/kern/subr_sfbuf.c Mon Aug 11 12:26:48 2014 (r269806) > +++ head/sys/kern/subr_sfbuf.c Mon Aug 11 12:59:55 2014 (r269807) > @@ -201,6 +201,22 @@ sf_buf_free(struct sf_buf *sf) > mtx_unlock(&sf_buf_lock); > } > =20 > +void > +sf_buf_ref(struct sf_buf *sf) > +{ > + > +#ifdef SFBUF_OPTIONAL_DIRECT_MAP > + if (SFBUF_OPTIONAL_DIRECT_MAP) > + return; > +#endif > + > + KASSERT(sf->ref_count > 0, ("%s: sf %p not allocated", __func__, sf)); > + > + mtx_lock(&sf_buf_lock); > + sf->ref_count++; > + mtx_unlock(&sf_buf_lock); > +} I think assert could be usefully moved under the mutex protected region. --wRRV7LY7NUeQGEoC Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJT6Ml0AAoJEJDCuSvBvK1BO5cP/jVriWv8yNNdf9xWmTbiPHPu 1n4Dceed8aC8xiS2Wjb/NUYT2rDjvm06Pf3kD0Zl+NJwPS4x/eidyW0jqv6Wot4I SkB3BQMhd7I8Yg8y/Y9ZmvcDkWKt1V6VetkHZV6LLIrsqla6yWAhMEDVByqhysn5 dxvdJ9me5pLbjKlWlFvWQfbFysw5rMXA3xLlIvotddytPlYspMzAfbKN/6/ksHMW emiU5r5BO0nn+VFY9FPYZYz4VJbDu4XsHKt4E+ZGvAyJu7PPy9jexaKviklk2ybv E+leUDkHxXh5anOyvOqqAwIr2ec9Z3F1E2Eh2xINtIFPEOpsE6u3wBQtb81tJCtr 5byIqTBYCayqOTYnRPmnst4XJVfEU4JlRdv9WMun/I5pbBlj4GvSv03lsiOAwhSi 7Vw8XEgMHujip0dFLUOZJN4AWR35Svr3PF2E4lMoDou48yW3nYtMmj98xdYES+3c hWlgpj9X1dGb1OontIUmt2Ty4vH+czrETI9r7hb0X7hFY6tNzNgCJwUy1zx+svSH xcgHbLe5VHz5LNHqG7nVjb+EHLYmxo7ynfGCWWcx62oTRiueeKflziapV69xKy7G gx2LWq7v+1nD1XGXpLxQY4NR0iSIPe45zVRinXw0knq+9ZIFV9JPBoOWUv98d0/u nHUjNCzI1TiT8MMHAzha =ogeK -----END PGP SIGNATURE----- --wRRV7LY7NUeQGEoC--