Re: [RFC] various lists on inode table usage?

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

 





On Mon, Oct 21, 2019 at 1:02 PM Changwei Ge <chge@xxxxxxxxxxxxxxxxx> wrote:
Hi Amar,

Thank you very much for your quick reply :-)

On 2019/10/21 2:44 下午, Amar Tumballi wrote:
>
>
> On Mon, Oct 21, 2019 at 11:58 AM Changwei Ge <chge@xxxxxxxxxxxxxxxxx
> <mailto:chge@xxxxxxxxxxxxxxxxx>> wrote:
>
>     Hi,
>
>     I am recently working on optimizing inode searching/getting/putting
>     concurrency. Before the experiment/trial goes, I would like to get
>     fully
>     understand what the usage of several lists of inode table, especially
>     for 'invalidate list', since the major difficulty making inode
>     searching
>     run concurrently is that We have to move inode from one list to the
>     other and modify some attributes against inode table.
>     After reading corresponding code, it seems that inode table 'invalidate
>     list' is only retrieved when destroying inode
>     table(inode_table_destroy).
>
>     Can someone help explain the list usage/purpose of 'invalidate list'?
>
>
> 'invalidate_list' is used only in client side. The patch which got it is
> below:
>
> https://github.com/gluster/glusterfs/commit/d49b41e817d592c1904b6f01716df6546dad3ebe
>
>
> Hope this gives some idea.

Cool, this helps me to understand more deeply on inode table.
I will check out other related commits as well.

>
> Happy to help. If there is an interest, we can even have a video
> conference for all interested developers to discuss inode table, and
> detail out how it is done.
>

Ack.
As I think that inode table(how we manage inode/dentry) is one of the
most critical parts of a certain type of FS, we should consider and
design carefully hence run it efficiently.
What I can see from glusterfs HEAD code is that we might have many
locking contentions and burden too much logic into inode_[un]ref().

This is true. And I tried couple of approaches. Couldn't get to take it to completion earlier.

https://review.gluster.org/22242
* https://review.gluster.org/22243
https://review.gluster.org/22186
https://review.gluster.org/22156

https://github.com/gluster/glusterfs/issues/204

 

So how can we arrange a video conference and have a further discussion?


Open for suggestions. We have weekly Community meeting, which can be extended to talk about this.
 
Thanks,
Changwei

> For getting complete history of changes to inode.c (from
> https://github.com/amarts/glusterfs/commit/72db44413ce4686b465c29ea8383fa4f09f53a76),
> you can clone github.com/amarts/glusterfs
> <http://github.com/amarts/glusterfs> and see that over time what changes
> got into the file... 'git log libglusterfs/src/inode.c' gives an idea.
>
> Regards,
> Amar
>
>
>
>     Thanks,
>     Changwei
>
_______________________________________________

Community Meeting Calendar:

APAC Schedule -
Every 2nd and 4th Tuesday at 11:30 AM IST
Bridge: https://bluejeans.com/118564314

NA/EMEA Schedule -
Every 1st and 3rd Tuesday at 01:00 PM EDT
Bridge: https://bluejeans.com/118564314

Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
https://lists.gluster.org/mailman/listinfo/gluster-devel


[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux