From: Miklos S. <mi...@sz...> - 2009-01-06 15:21:56
|
On Thu, 1 Jan 2009, Kevin wrote: > Hi, all > > I have some observation on fuse performance I hope someone can explain to me. > > One thing i observed is that fuse file system performance > degenerates significantly over time if you run heavy load against it > for long time. it could go down to 60-80% after a while. > > Fuse user land code intrduced the "path lock" to replace the rwlock > treelock in 2.7.x, with this mechanism, if a parent path is locked, > access to the sub tree will have to wait, why is this better than > previous implementation? it seems that fuse spends lots of time on > "wait_on_path", so if the root node is locked, access to any node > would have to wait. it doesnt make much sense to me. It is a reader-writer locking mechanism. This means, that only rename() and unlink() will actually block other operations. Anything else can run in parallel. The old locking was the same only there was a single lock, so for example a rename would prevent any other operation on the whole filesystem. The new locking is fine grained and only blocks operations which actually depend on the path to be renamed/unlinked. Thanks, Miklos |