tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PUFFS ADVLOCK is too greedy



        Hello.   Are you seeing this behavior in NetBSD-5?  I've been working
on porting ufs fixes from David Holland back into 5.x, and I've seen too
many unlocks taken on a given file, and  have been wondering where they
come from.  I'm not sure it's the same bug, but your finding sounds
interesting.
-thanks
-Brian

On Nov 11, 11:11am, Emmanuel Dreyfus wrote:
} Subject: Re: PUFFS ADVLOCK is too greedy
} Emmanuel Dreyfus <manu%netbsd.org@localhost> wrote:
} 
} > Please consider the test case below, ran on a PUFFS/perfuse/glusterfs
} > mount. A look at the PUFFS operation trace shows that the kernel sends
} > ADVLOCK for f0, f1 and m when a lock is requested on m.
} 
} Here is where the extra ADVLOCK happen:
} sys_exit -> exit1 -> fd_free -> fd_close -> VOP_ADVLOCK
} 
} In a nutshell, NetBSD clears locks on all file descriptor when a process
} exit, that include read-only descriptors, and FUSE filesystems seem to
} be unconfortable with that.
} 
} I am not sure of where this should be fixed: should we avoid unlocking
} read-only files in fd_close()? That seems a good idea performance-wise.
} 
} Or is it a desirable behavior on native filesystems while being a bug
} for FUSE filesystems?  In that case, it means I need to filter the
} operation in perfused.
} 
} -- 
} Emmanuel Dreyfus
} http://hcpnet.free.fr/pubz
} manu%netbsd.org@localhost
>-- End of excerpt from Emmanuel Dreyfus




Home | Main Index | Thread Index | Old Index