]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
sync_vnode() has some messy code about locking in order to deal with
authorAttilio Rao <attilio@FreeBSD.org>
Sun, 4 May 2008 13:54:55 +0000 (13:54 +0000)
committerAttilio Rao <attilio@FreeBSD.org>
Sun, 4 May 2008 13:54:55 +0000 (13:54 +0000)
commit60e2edce550f65ba286a8e2c9191c8b211a398a6
tree35aedf1add7a5c1ec26e20c5365bed8aab1b19d6
parent4655d57927f0e2b9fa570181e8278b9cb67f7af1
sync_vnode() has some messy code about locking in order to deal with
mount fs needing Giant to be held when processing bufobjs.
Use a different subqueue for pending workitems on filesystems requiring
Giant. This simplifies the code notably and also reduces the number of
Giant acquisitions (and the whole processing cost).

Suggested by: jeff
Reviewed by: kib
Tested by: pho
sys/kern/vfs_subr.c