Skip site navigation (1)Skip section navigation (2)
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>