Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Jun 2015 09:21:35 -0400
From:      John Baldwin <jhb@FreeBSD.org>
To:        Gleb Smirnoff <glebius@FreeBSD.org>, Mateusz Guzik <mjg@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r284211 - in head/sys: kern sys
Message-ID:  <558568DF.3060902@FreeBSD.org>
In-Reply-To: <20150616134352.GI73119@FreeBSD.org>
References:  <201506100934.t5A9YpoN093925@svn.freebsd.org> <20150610154445.GJ73119@FreeBSD.org> <20150616134352.GI73119@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 6/16/15 9:43 AM, Gleb Smirnoff wrote:
>   Mateusz,
> 
>   have you noticed this email?
> 
> On Wed, Jun 10, 2015 at 06:44:45PM +0300, Gleb Smirnoff wrote:
> T> On Wed, Jun 10, 2015 at 09:34:51AM +0000, Mateusz Guzik wrote:
> T> M> Author: mjg
> T> M> Date: Wed Jun 10 09:34:50 2015
> T> M> New Revision: 284211
> T> M> URL: https://svnweb.freebsd.org/changeset/base/284211
> T> M> 
> T> M> Log:
> T> M>   fd: use atomics to manage fd_refcnt and fd_holcnt
> T> M>   
> T> M>   This gets rid of fdesc_mtx.
> T> ..
> T> M> Modified: head/sys/sys/filedesc.h
> T> M> ==============================================================================
> T> M> --- head/sys/sys/filedesc.h	Wed Jun 10 05:39:48 2015	(r284210)
> T> M> +++ head/sys/sys/filedesc.h	Wed Jun 10 09:34:50 2015	(r284211)
> T> M> @@ -83,8 +83,8 @@ struct filedesc {
> T> M>  	int	fd_lastfile;		/* high-water mark of fd_ofiles */
> T> M>  	int	fd_freefile;		/* approx. next free file */
> T> M>  	u_short	fd_cmask;		/* mask for file creation */
> T> M> -	u_short	fd_refcnt;		/* thread reference count */
> T> M> -	u_short	fd_holdcnt;		/* hold count on structure + mutex */
> T> M> +	int	fd_refcnt;		/* thread reference count */
> T> M> +	int	fd_holdcnt;		/* hold count on structure + mutex */
> T> M>  	struct	sx fd_sx;		/* protects members of this struct */
> T> M>  	struct	kqlist fd_kqlist;	/* list of kqueues on this filedesc */
> T> M>  	int	fd_holdleaderscount;	/* block fdfree() for shared close() */
> T> 
> T> Shouldn't they be volatile u_int?
 
Agreed.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?558568DF.3060902>