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>