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

John Baldwin jhb at freebsd.org
Tue Aug 26 19:29:01 UTC 2014


On Tuesday, August 26, 2014 9:55:22 am Mateusz Guzik wrote:
> 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.

Ah, I misread the diff and had thought the fcntl() changes were in the read() 
path instead.

-- 
John Baldwin


More information about the svn-src-head mailing list