Re: Re: [PATCH v4] fuse: add max_pages option

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

 



> -----邮件原件-----
> 发件人: Miklos Szeredi [mailto:miklos@xxxxxxxxxx]
> 发送时间: 2018年10月1日 17:19
> 收件人: 刘硕然 <liushuoran@xxxxxx>
> 抄送: Constantine Shulyupin <const@xxxxxxxxxxxxx>; open list:FUSE:
> FILESYSTEM IN USERSPACE <linux-fsdevel@xxxxxxxxxxxxxxx>; Jonathan
> Corbet <corbet@xxxxxxx>; mitsuo.hayasaka.hu@xxxxxxxxxxx; Amir
> Goldstein <amir73il@xxxxxxxxx>
> 主题: Re: 答复: [PATCH v4] fuse: add max_pages option
> 
> On Wed, Sep 26, 2018 at 12:39 PM, 刘硕然 <liushuoran@xxxxxx> wrote:
> >
> >
> > 刘硕然
> > 商城技术架构部   智能存储部
> > ----------------------------------------------------------------------
> > --------------------------
> > 手机/+86 18201588100
> > 邮箱/liushuoran@xxxxxx
> > 地址/北京市经济技术开发区科创十一街18号院京东大厦B座16层
> > ----------------------------------------------------------------------
> > --------------------------
> >
> >
> >
> >> -----邮件原件-----
> >> 发件人: Constantine Shulyupin [mailto:const@xxxxxxxxxxxxx]
> >> 发送时间: 2018年9月26日 18:07
> >> 收件人: 刘硕然 <liushuoran@xxxxxx>
> >> 抄送: Miklos Szeredi <miklos@xxxxxxxxxx>; open list:FUSE: FILESYSTEM
> IN
> >> USERSPACE <linux-fsdevel@xxxxxxxxxxxxxxx>; Jonathan Corbet
> >> <corbet@xxxxxxx>; mitsuo.hayasaka.hu@xxxxxxxxxxx; Amir Goldstein
> >> <amir73il@xxxxxxxxx>
> >> 主题: Re: [PATCH v4] fuse: add max_pages option
> >>
> >> Hi Shuoran,
> >>
> >> On Wed, Sep 26, 2018 at 12:40 PM 刘硕然 <liushuoran@xxxxxx> wrote:
> >> > I haven't tested the patch yet. But after reviewing the patch, I
> >> > don't see
> >> anything related to BDI_CAP_STRICTLIMIT. So would you please explain
> >> a little bit more? Thanks.
> >>
> >> Bigger size of request reduces total number of requests and reduces
> >> overhead of per request operations.
> >>
> >> > PS: I did try increasing FUSE_MAX_PAGES_PER_REQ, but it seemed not
> >> helping in my scenario(writeback cache enabled, 4K writes, total
> >> write size is not very large).
> >>
> >> To utilize FUSE_MAX_PAGES_PER_REQ in kernel it is must to increase
> >> KERNEL_BUF_PAGES it libfuse too. I have libfuse patch with
> >> configurable max_pages.
> >>
> >> But 4K writes will not benefit from increase of request size, which
> >> now is 128K and proposed size is 1M.
> >>
> >
> > This is true. So my original purpose of using writeback cache was trying to
> improve the performance of small writes. Because for big writes, fuse kernel
> would send requests to libfuse anyway, with or without writeback cache.
> >
> > The BDI_CAP_STRICTLIMIT issue happens when writeback cache is enabled,
> since balance_dirty_pages() is triggered in every small writes even if no
> request is sent to libfuse, which slows things down.
> >
> > So IMHO, increasing FUSE_MAX_PAGES_PER_REQ would certainly help for
> big writes, but might not be a solution to BDI_CAP_STRICTLIMIT issue.
> Please feel free to correct me if I misunderstand anything. Thanks in
> advance.
> 
> 
> Makes sense.  Can you do a kernel profile to see where most of the time is
> actually spent in your workload?
> 
> Thanks,
> Miklos


Sorry for the late reply. Actually I already did a kernel profile. And that's why I asked for help in the first place.

https://lkml.org/lkml/2018/8/9/71

I added some extra trace points to narrow down the performance bottleneck, and it seemed that balance_dirty_pages() took up most of the time (but I did not put full log in the above thread, since they are not in the upstream kernel and people might get confused).

Regards,
Shuoran




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux