[Gluster-devel] [RFC] inode table locking contention reduction experiment
Changwei Ge
chge at linux.alibaba.com
Tue Oct 29 06:51:08 UTC 2019
Hi,
I am recently working on reducing inode_[un]ref() locking contention by
getting rid of inode table lock. Just use inode lock to protect inode
REF. I have already discussed a couple rounds with several Glusterfs
developers via emails and Gerrit and basically get understood on major
logic around.
Currently, inode REF can be ZERO and be reused by increasing it to ONE.
This is IMO why we have to burden so much work for inode table when
REF/UNREF. It makes inode [un]ref() and inode table and dentries(alias)
searching hard to run concurrently.
So my question is in what cases, how can we find a inode whose REF is ZERO?
As Glusterfs store its inode memory address into kernel/fuse, can we
conclude that only fuse_ino_to_inode() can bring back a REF=0 inode?
Thanks,
Changwei
More information about the Gluster-devel
mailing list