tech-kern archive

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

Re: VOP_GETATTR: locking protocol change proposal



> yamt%mwd.biglobe.ne.jp@localhost (YAMAMOTO Takashi) wrote:
>> > <...>
>> > 
>> > With the attached diff the locking protocol requests at least a shared
>> > lock and all calls to VOP_GETATTR() outside of file systems respect it.
>> > 
>> > <...>
>> 
>> postgresql assumes instant lseek(SEEK_END) to get the size of
>> their heap files.
>> 
>>      http://rhaas.blogspot.com/2011/11/linux-lseek-scalability.html
>> 
>> as fsync etc keeps the vnode lock during i/o, it might cause severe
>> performance regression.
> 
> I wonder if it is worth having a separate VOP for that, which would
> retrieve a subset of vattr without lock held.  There are potentially
> more uses in the tree.

while it's good to have VOP_GETATTR take a mask to specify a set of
requested attributes, i don't think it's worth to have a serparete VOP
for this.  (PR/30250 is related)

IMO we should make unlocked VOP calls safe (against revoke and umount -f)
and put VOP_GETATTR locking back into filesystem internal.

YAMAMOTO Takashi

> 
> -- 
> Mindaugas


Home | Main Index | Thread Index | Old Index