hammer does cache_lock
Matthew Dillon
dillon at apollo.backplane.com
Sat Sep 20 10:34:59 PDT 2008
Damian, thanks for making the effort to create that kernel core!
After examining it I found an issue with fsync(). Please try this
kernel patch and tell me if it solves the problem.
fetch http://apollo.backplane.com/DFlyMisc/hammer05.patch
fsync() was holding onto the vnode lock while waiting for the sync to
complete. The vnode being fsynced can be held up indefinitely due to
dependancies on other vnodes (e.g. directory-entry vs underlying file),
and holding onto the lock resulted in a deadlock with the directory
vnode.
The patch mainly fixes this patricular deadlock by unlocking the vnode
while waiting for the inode to complete its sync.
It is quite possible that there are additional issues. I would like
you to apply the patch, recompile your kernel & reboot, and tell me
if any further problems occur. If they do, we'll do another round
of kernel cores.
-Matt
More information about the Kernel
mailing list