Date: Mon, 11 Aug 2014 16:47:32 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Gleb Smirnoff <glebius@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r269807 - in head/sys: kern sys Message-ID: <20140811134732.GA2737@kib.kiev.ua> In-Reply-To: <53e8be4b.2c83.3b3d1940@svn.freebsd.org> References: <53e8be4b.2c83.3b3d1940@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140811134732.GA2737>