cvs commit: src/sys/ufs/ffs ffs_vnops.c
Jeff Roberson
jroberson at chesapeake.net
Fri Mar 21 05:43:40 PDT 2008
On Fri, 21 Mar 2008, Konstantin Belousov wrote:
> kib 2008-03-21 12:33:00 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/ufs/ffs ffs_vnops.c
> Log:
> Reduce the acquisition of the vnode interlock in the ffs_read() and
> ffs_extread() when setting the IN_ACCESS flag by checking whether the
> IN_ACCESS is already set. The possible race there is admissible.
I don't believe there is a race because we should always hold an exclusive
vnode lock and the vnode interlock when clearing. The exclusive node lock
would prevent ffs_read() from executing entirely, so we don't have to
worry about races with clearing the bit. Races to set the bit are handled
by the vnode interlock.
I should also mention that while this may seem innocuous enough this
figured heavily in LOCK_PROFILING for a real workload.
Thanks,
Jeff
>
> Tested by: pho
> Submitted by: jeff
>
> Revision Changes Path
> 1.180 +4 -2 src/sys/ufs/ffs/ffs_vnops.c
>
More information about the cvs-src
mailing list