Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Nov 2009 20:47:32 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        lynx.ripe@gmail.com
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, edwin@FreeBSD.org
Subject:   Re: svn commit: r194783 - head/lib/libc/stdtime
Message-ID:  <20091117.204732.1339398361.imp@bsdimp.com>
In-Reply-To: <4B01E548.7040708@gmail.com>
References:  <4B01E548.7040708@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <4B01E548.7040708@gmail.com>
            Dmitry Pryanishnikov <lynx.ripe@gmail.com> writes:
: 
: Hello!
: 
: > Author: edwin
: > Date: Tue Jun 23 22:28:44 2009
: > New Revision: 194783
: > URL: http://svn.freebsd.org/changeset/base/194783
: > 
: > Log:
: >   Remove duplicate if-statement on gmt_is_set in gmtsub().
: >   
: >   MFC after:	1 week
: > 
: > Modified:
: >   head/lib/libc/stdtime/localtime.c
: > 
: > Modified: head/lib/libc/stdtime/localtime.c
: > ==============================================================================
: > --- head/lib/libc/stdtime/localtime.c	Tue Jun 23 22:22:20 2009	(r194782)
: > +++ head/lib/libc/stdtime/localtime.c	Tue Jun 23 22:28:44 2009	(r194783)
: > @@ -1472,18 +1472,16 @@ struct tm * const	tmp;
: >  {
: >  	register struct tm *	result;
: >  
: > +	_MUTEX_LOCK(&gmt_mutex);
: >  	if (!gmt_is_set) {
: > -		_MUTEX_LOCK(&gmt_mutex);
: > -		if (!gmt_is_set) {
: 
:    This change looks like a (small?) pessimization to me: before it, 
: _MUTEX_LOCK/_MUTEX_UNLOCK pair would be skipped for the case gmt_is_set 
: == TRUE (all invocations except the first one), now it won't. I'm not 
: sure whether this is critical here though...

I think this is a big pessimization.  gmt_is_set code only needs to
execute once, and this code was designed to be lockless once
gmt_is_set was set...

Warner



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