Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Aug 2014 15:55:22 +0200
From:      Mateusz Guzik <mjguzik@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Mateusz Guzik <mjg@freebsd.org>
Subject:   Re: svn commit: r270648 - in head/sys: kern sys
Message-ID:  <20140826135522.GA10544@dft-labs.eu>
In-Reply-To: <201408260945.39017.jhb@freebsd.org>
References:  <201408260817.s7Q8HMMT044455@svn.freebsd.org> <201408260945.39017.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 26, 2014 at 09:45:38AM -0400, John Baldwin wrote:
> On Tuesday, August 26, 2014 4:17:22 am Mateusz Guzik wrote:
> > Author: mjg
> > Date: Tue Aug 26 08:17:22 2014
> > New Revision: 270648
> > URL: http://svnweb.freebsd.org/changeset/base/270648
> > 
> > Log:
> >   Fix up races with f_seqcount handling.
> >   
> >   It was possible that the kernel would overwrite user-supplied hint.
> >   
> >   Abuse vnode lock for this purpose.
> >   
> >   In collaboration with: kib
> >   MFC after:	1 week
> 
> Do we care about this being correct enough to penalize reads by single-
> threading them?  This is just an optimization, if you lose the race it doesn't 
> actually break anything.
> 

We don't singlethread reads, vnode is locked exactly as it was
previously.

What changes is that a rarely used (as compared to reads) function
playing with f_seqcount now takes exclusive lock.

If anything, this is an optimization since it removes an unnecessary
load_acq.

-- 
Mateusz Guzik <mjguzik gmail.com>



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