All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miklos Szeredi <miklos@szeredi.hu>
To: JeffleXu <jefflexu@linux.alibaba.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	virtualization@lists.linux-foundation.org,
	virtio-fs-list <virtio-fs@redhat.com>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	linux-fsdevel@vger.kernel.org, Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [Virtio-fs] [PATCH v4 0/8] fuse,virtiofs: support per-file DAX
Date: Tue, 17 Aug 2021 16:11:14 +0200	[thread overview]
Message-ID: <CAJfpeguA3zeJq-HJUVZHv4nNybqFezkzPNhcWmj0n5+i7YpW4Q@mail.gmail.com> (raw)
In-Reply-To: <0896b1f6-c8c4-6071-c05b-a333c6cccacd@linux.alibaba.com>

On Tue, 17 Aug 2021 at 15:08, JeffleXu <jefflexu@linux.alibaba.com> wrote:
>
>
>
> On 8/17/21 6:09 PM, Miklos Szeredi wrote:
> > On Tue, 17 Aug 2021 at 11:32, Dr. David Alan Gilbert
> > <dgilbert@redhat.com> wrote:
> >>
> >> * Miklos Szeredi (miklos@szeredi.hu) wrote:
> >>> On Tue, 17 Aug 2021 at 04:22, Jeffle Xu <jefflexu@linux.alibaba.com> wrote:
> >>>>
> >>>> This patchset adds support of per-file DAX for virtiofs, which is
> >>>> inspired by Ira Weiny's work on ext4[1] and xfs[2].
> >>>
> >>> Can you please explain the background of this change in detail?
> >>>
> >>> Why would an admin want to enable DAX for a particular virtiofs file
> >>> and not for others?
> >>
> >> Where we're contending on virtiofs dax cache size it makes a lot of
> >> sense; it's quite expensive for us to map something into the cache
> >> (especially if we push something else out), so selectively DAXing files
> >> that are expected to be hot could help reduce cache churn.
> >
> > If this is a performance issue, it should be fixed in a way that
> > doesn't require hand tuning like you suggest, I think.
> >
> > I'm not sure what the  ext4/xfs case for per-file DAX is.  Maybe that
> > can help understand the virtiofs case as well.
> >
>
> Some hints why ext4/xfs support per-file DAX can be found [1] and [2].
>
> "Boaz Harrosh wondered why someone might want to turn DAX off for a
> persistent memory device. Hellwig said that the performance "could
> suck"; Williams noted that the page cache could be useful for some
> applications as well. Jan Kara pointed out that reads from persistent
> memory are close to DRAM speed, but that writes are not; the page cache
> could be helpful for frequent writes. Applications need to change to
> fully take advantage of DAX, Williams said; part of the promise of
> adding a flag is that users can do DAX on smaller granularities than a
> full filesystem."
>
> In summary, page cache is preferable in some cases, and thus more fine
> grained way of DAX control is needed.

Hmm, okay, very frequent overwrites could be problematic for directly
mapped nvram.

>
> As for virtiofs, Dr. David Alan Gilbert has mentioned that various files
> may compete for limited DAX window resource.
>
> Besides, supporting DAX for small files can be expensive. Small files
> can consume DAX window resource rapidly, and if small files are accessed
> only once, the cost of mmap/munmap on host can not be ignored.

That's a good point.   Maybe we should disable DAX for file sizes much
smaller than the chunk size?

Thanks,
Miklos

WARNING: multiple messages have this Message-ID (diff)
From: Miklos Szeredi <miklos@szeredi.hu>
To: JeffleXu <jefflexu@linux.alibaba.com>
Cc: virtualization@lists.linux-foundation.org,
	virtio-fs-list <virtio-fs@redhat.com>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	linux-fsdevel@vger.kernel.org, Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [Virtio-fs] [PATCH v4 0/8] fuse,virtiofs: support per-file DAX
Date: Tue, 17 Aug 2021 16:11:14 +0200	[thread overview]
Message-ID: <CAJfpeguA3zeJq-HJUVZHv4nNybqFezkzPNhcWmj0n5+i7YpW4Q@mail.gmail.com> (raw)
In-Reply-To: <0896b1f6-c8c4-6071-c05b-a333c6cccacd@linux.alibaba.com>

On Tue, 17 Aug 2021 at 15:08, JeffleXu <jefflexu@linux.alibaba.com> wrote:
>
>
>
> On 8/17/21 6:09 PM, Miklos Szeredi wrote:
> > On Tue, 17 Aug 2021 at 11:32, Dr. David Alan Gilbert
> > <dgilbert@redhat.com> wrote:
> >>
> >> * Miklos Szeredi (miklos@szeredi.hu) wrote:
> >>> On Tue, 17 Aug 2021 at 04:22, Jeffle Xu <jefflexu@linux.alibaba.com> wrote:
> >>>>
> >>>> This patchset adds support of per-file DAX for virtiofs, which is
> >>>> inspired by Ira Weiny's work on ext4[1] and xfs[2].
> >>>
> >>> Can you please explain the background of this change in detail?
> >>>
> >>> Why would an admin want to enable DAX for a particular virtiofs file
> >>> and not for others?
> >>
> >> Where we're contending on virtiofs dax cache size it makes a lot of
> >> sense; it's quite expensive for us to map something into the cache
> >> (especially if we push something else out), so selectively DAXing files
> >> that are expected to be hot could help reduce cache churn.
> >
> > If this is a performance issue, it should be fixed in a way that
> > doesn't require hand tuning like you suggest, I think.
> >
> > I'm not sure what the  ext4/xfs case for per-file DAX is.  Maybe that
> > can help understand the virtiofs case as well.
> >
>
> Some hints why ext4/xfs support per-file DAX can be found [1] and [2].
>
> "Boaz Harrosh wondered why someone might want to turn DAX off for a
> persistent memory device. Hellwig said that the performance "could
> suck"; Williams noted that the page cache could be useful for some
> applications as well. Jan Kara pointed out that reads from persistent
> memory are close to DRAM speed, but that writes are not; the page cache
> could be helpful for frequent writes. Applications need to change to
> fully take advantage of DAX, Williams said; part of the promise of
> adding a flag is that users can do DAX on smaller granularities than a
> full filesystem."
>
> In summary, page cache is preferable in some cases, and thus more fine
> grained way of DAX control is needed.

Hmm, okay, very frequent overwrites could be problematic for directly
mapped nvram.

>
> As for virtiofs, Dr. David Alan Gilbert has mentioned that various files
> may compete for limited DAX window resource.
>
> Besides, supporting DAX for small files can be expensive. Small files
> can consume DAX window resource rapidly, and if small files are accessed
> only once, the cost of mmap/munmap on host can not be ignored.

That's a good point.   Maybe we should disable DAX for file sizes much
smaller than the chunk size?

Thanks,
Miklos


  reply	other threads:[~2021-08-17 14:11 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-17  2:22 [PATCH v4 0/8] fuse,virtiofs: support per-file DAX Jeffle Xu
2021-08-17  2:22 ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22 ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 1/8] fuse: add fuse_should_enable_dax() helper Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 2/8] fuse: Make DAX mount option a tri-state Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 3/8] fuse: support per-file DAX Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 4/8] fuse: negotiate if server/client supports " Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 5/8] fuse: enable " Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 6/8] fuse: mark inode DONT_CACHE when per-file DAX indication changes Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17 10:26   ` [Virtio-fs] " Dr. David Alan Gilbert
2021-08-17 10:26     ` Dr. David Alan Gilbert
2021-08-17 10:26     ` Dr. David Alan Gilbert
2021-08-17 13:23     ` JeffleXu
2021-08-17 13:23       ` JeffleXu
2021-08-17 13:23       ` JeffleXu
2021-08-17  2:22 ` [PATCH v4 7/8] fuse: support changing per-file DAX flag inside guest Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 8/8] fuse: show '-o dax=inode' option only when FUSE server supports Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:23 ` [virtiofsd PATCH v4 0/4] virtiofsd: support per-file DAX Jeffle Xu
2021-08-17  2:23   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23   ` Jeffle Xu
2021-08-17  2:23   ` [virtiofsd PATCH v4 1/4] virtiofsd: add .ioctl() support Jeffle Xu
2021-08-17  2:23     ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23     ` Jeffle Xu
2021-08-18 17:33     ` Vivek Goyal
2021-08-18 17:33       ` [Virtio-fs] " Vivek Goyal
2021-08-18 17:33       ` Vivek Goyal
2021-08-17  2:23   ` [virtiofsd PATCH v4 2/4] virtiofsd: expand fuse protocol to support per-file DAX Jeffle Xu
2021-08-17  2:23     ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23     ` Jeffle Xu
2021-08-17  2:23   ` [virtiofsd PATCH v4 3/4] virtiofsd: support per-file DAX negotiation in FUSE_INIT Jeffle Xu
2021-08-17  2:23     ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23     ` Jeffle Xu
2021-08-17 17:15     ` [Virtio-fs] " Dr. David Alan Gilbert
2021-08-17 17:15       ` Dr. David Alan Gilbert
2021-08-17 17:15       ` Dr. David Alan Gilbert
2021-08-18  5:28       ` JeffleXu
2021-08-18  5:28         ` JeffleXu
2021-08-18  5:28         ` JeffleXu
2021-08-19 13:57         ` Dr. David Alan Gilbert
2021-08-19 13:57           ` Dr. David Alan Gilbert
2021-08-19 13:57           ` Dr. David Alan Gilbert
2021-08-18 17:30       ` Vivek Goyal
2021-08-18 17:30         ` Vivek Goyal
2021-08-18 17:30         ` Vivek Goyal
2021-08-17  2:23   ` [virtiofsd PATCH v4 4/4] virtiofsd: support per-file DAX in FUSE_LOOKUP Jeffle Xu
2021-08-17  2:23     ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23     ` Jeffle Xu
2021-08-17 19:00     ` [Virtio-fs] " Dr. David Alan Gilbert
2021-08-17 19:00       ` Dr. David Alan Gilbert
2021-08-17 19:00       ` Dr. David Alan Gilbert
2021-08-18  5:46       ` JeffleXu
2021-08-18  5:46         ` JeffleXu
2021-08-18  5:46         ` JeffleXu
2021-08-19 13:08         ` Dr. David Alan Gilbert
2021-08-19 13:08           ` Dr. David Alan Gilbert
2021-08-19 13:08           ` Dr. David Alan Gilbert
2021-08-20  5:03           ` JeffleXu
2021-08-20  5:03             ` JeffleXu
2021-08-20  5:03             ` JeffleXu
2021-08-24 10:15             ` Greg Kurz
2021-08-24 10:15               ` Greg Kurz
2021-08-24 10:15               ` Greg Kurz
2021-09-08 10:34               ` JeffleXu
2021-09-08 10:34                 ` JeffleXu
2021-09-08 10:34                 ` JeffleXu
2021-08-17  8:06 ` [PATCH v4 0/8] fuse,virtiofs: support per-file DAX Miklos Szeredi
2021-08-17  8:06   ` [Virtio-fs] " Miklos Szeredi
2021-08-17  9:32   ` Dr. David Alan Gilbert
2021-08-17  9:32     ` Dr. David Alan Gilbert
2021-08-17  9:32     ` Dr. David Alan Gilbert
2021-08-17 10:09     ` Miklos Szeredi
2021-08-17 10:09       ` Miklos Szeredi
2021-08-17 10:37       ` Dr. David Alan Gilbert
2021-08-17 10:37         ` Dr. David Alan Gilbert
2021-08-17 10:37         ` Dr. David Alan Gilbert
2021-08-17 13:08       ` JeffleXu
2021-08-17 13:08         ` JeffleXu
2021-08-17 13:08         ` JeffleXu
2021-08-17 14:11         ` Miklos Szeredi [this message]
2021-08-17 14:11           ` Miklos Szeredi
2021-08-17 15:19           ` Vivek Goyal
2021-08-17 15:19             ` Vivek Goyal
2021-08-17 15:19             ` Vivek Goyal
2021-08-17 14:54         ` Vivek Goyal
2021-08-17 14:54           ` Vivek Goyal
2021-08-17 14:54           ` Vivek Goyal
2021-08-18  5:10           ` JeffleXu
2021-08-18  5:10             ` JeffleXu
2021-08-18  5:10             ` JeffleXu
2021-08-19  6:14           ` JeffleXu
2021-08-19  6:14             ` JeffleXu
2021-08-19  6:14             ` JeffleXu
2021-08-17 12:40     ` Vivek Goyal
2021-08-17 12:40       ` Vivek Goyal
2021-08-17 12:40       ` Vivek Goyal
2021-09-16  8:21       ` JeffleXu
2021-09-16  8:21         ` JeffleXu
2021-09-16  8:21         ` JeffleXu
2021-09-18  3:06         ` JeffleXu
2021-09-18  3:06           ` JeffleXu
2021-09-18  3:06           ` JeffleXu
2021-09-19 19:45         ` Vivek Goyal
2021-09-19 19:45           ` Vivek Goyal
2021-09-19 19:45           ` Vivek Goyal
2021-09-22  8:16           ` JeffleXu
2021-09-22  8:16             ` JeffleXu
2021-09-22  8:16             ` JeffleXu
2021-08-17 12:39   ` Vivek Goyal
2021-08-17 12:39     ` [Virtio-fs] " Vivek Goyal
2021-08-17 12:39     ` Vivek Goyal
2021-08-17 13:22     ` JeffleXu
2021-08-17 13:22       ` [Virtio-fs] " JeffleXu
2021-08-17 13:22       ` JeffleXu
2021-08-17 14:08       ` Miklos Szeredi
2021-08-17 14:08         ` [Virtio-fs] " Miklos Szeredi
2021-08-18  3:39         ` JeffleXu
2021-08-18  3:39           ` [Virtio-fs] " JeffleXu
2021-08-18  3:39           ` JeffleXu
2021-08-18  5:08           ` Miklos Szeredi
2021-08-18  5:08             ` [Virtio-fs] " Miklos Szeredi
2021-08-18 16:58             ` Vivek Goyal
2021-08-18 16:58               ` [Virtio-fs] " Vivek Goyal
2021-08-18 16:58               ` Vivek Goyal
2021-09-03  5:30         ` JeffleXu
2021-09-03  5:30           ` [Virtio-fs] " JeffleXu
2021-09-03  5:30           ` JeffleXu
2021-09-07 14:51           ` Miklos Szeredi
2021-09-07 14:51             ` [Virtio-fs] " Miklos Szeredi
2021-08-17 14:57       ` Vivek Goyal
2021-08-17 14:57         ` [Virtio-fs] " Vivek Goyal
2021-08-17 14:57         ` Vivek Goyal
2021-08-18  5:20         ` JeffleXu
2021-08-18  5:20           ` [Virtio-fs] " JeffleXu
2021-08-18  5:20           ` JeffleXu
2021-08-30 23:31         ` [Virtio-fs] " Liu Bo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJfpeguA3zeJq-HJUVZHv4nNybqFezkzPNhcWmj0n5+i7YpW4Q@mail.gmail.com \
    --to=miklos@szeredi.hu \
    --cc=dgilbert@redhat.com \
    --cc=jefflexu@linux.alibaba.com \
    --cc=joseph.qi@linux.alibaba.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=vgoyal@redhat.com \
    --cc=virtio-fs@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.