svn commit: r270648 - in head/sys: kern sys

Mateusz Guzik mjguzik at gmail.com
Tue Aug 26 13:55:29 UTC 2014


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>


More information about the svn-src-all mailing list