All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: virtio-dev@lists.oasis-open.org, Sage Weil <sweil@redhat.com>,
	Steven Whitehouse <swhiteho@redhat.com>,
	Miklos Szeredi <mszeredi@redhat.com>,
	Vivek Goyal <vgoyal@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Subject: [virtio-dev] Re: [PATCH v5 0/2] virtio-fs: add virtio file system device
Date: Fri, 26 Jul 2019 08:27:57 -0400	[thread overview]
Message-ID: <20190726082553-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20190726095338.24991-1-stefanha@redhat.com>

Didn't look at the spec yet, but I have a question:

On Fri, Jul 26, 2019 at 10:53:36AM +0100, Stefan Hajnoczi wrote:
> v5:
>  * Explain multiqueue semantics: no ordering, identical functionality on each queue, one FUSE session state shared between all queues
>  * Explain how the FUSE session is started with a FUSE_INIT request
>  * Consistently use "submit" vs "made available" and "complete" vs "used" terminology [Michael]
>  * Explain endianness [Michael]
>  * Clarify hiprio vs normal queue usage [Michael]
>  * Move SHOULD, MUST, etc wording into normative sections [Michael]
>  * Mention that FUSE_INIT negotiated state needs to be transferred during live migration [Michael]
>  * State that the DAX window is mapped with writeback caching like RAM [Michael]
>  * Mention DAX window mapping alignment constraints (they are communicated via the FUSE protocol) [Michael]
>  * Explain that FUSE_SETUPMAPPING fails when device resources are exhausted and that splitting mappings consumes resources too [Michael]
>  * Clarify access rules to DAX window - only touch memory that has a mapping establised
>  * Document that DAX data persistence is achieved via FUSE_FSYNC


The following was raised during v4 review:

	> > > > There is a practical problem that the QEMU process may hit the mmap
	> > > > limit and be unable to perform its own mmaps due to the DAX Window.  A
	> > > > limit must be enforced on the host so that QEMU's internal mmaps
	> > > > succeed.
	> > >
	> > > But number of mmaps are already limited by dax window size which is
	> > > controlled by virtiofsd. So all user has to do is start with smaller
	> > > dax window size if this ever becomes a concern.
	> >
	> > Yes, the DAX Window size sets a hard limit on the number of mappings
	> > (window_size / page_size).  I think we should still communicate a
	> > maximum number of mappings to provide more control for cases where the
	> > page size and DAX Window size don't produce a desirable number.
	> >
	> > Consider that window_size = 8 GB and page_size = 4 KB already yields
	> > 2,097,152 maximum mappings.  Oops, that number is too large!
	>
	> Ok, so that's something which will be in virtiofsd where maximum number
	> of outstanding can be configured by user and if we cross that limit,
	> FUSE_SETUPMAPPING will be returned with some error?

	Yes, virtiofsd will enforce the limit.

	The guest driver will also be aware of the limit via VIRTIO
	configuration space.

was this addressed?


> v4:
>  * Clarify that there are no request ordering guarantees between requests in a
>    single queue [vgoyal]
>  * Add explanation of FUSE session endianness detection [dgilbert]
> 
> v3:
>  * Remove notifications virtqueue, it's unimplemented and can be added when
>    needed [Miklos]
>  * Add Security Considerations and Live Migration Considerations sections
>    [Michael]
> v2:
>  * Clean up core virtio file system device spec
>  * Add DAX window
> 
> These patches add the virtio file system device, which is based on Linux FUSE
> but includes the DAX window extension.  Similar to virtio-scsi, which
> transports SCSI commands, virtio-fs transports FUSE requests and the protocol
> documentation is not duplicated here.
> 
> The DAX window allows file contents to be accessed directly from shared memory.
> This eliminates copying of data, reduces the number of vmexits, and reduces the
> guest's memory footprint.  It also allows coherent mmap MAP_SHARED semantics
> between guests on the same host.
> 
> Stefan Hajnoczi (2):
>   content: add virtio file system device
>   virtio-fs: add DAX window
> 
>  content.tex      |   1 +
>  introduction.tex |   3 +
>  virtio-fs.tex    | 259 +++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 263 insertions(+)
>  create mode 100644 virtio-fs.tex
> 
> -- 
> 2.21.0

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  parent reply	other threads:[~2019-07-26 12:28 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-26  9:53 [virtio-dev] [PATCH v5 0/2] virtio-fs: add virtio file system device Stefan Hajnoczi
2019-07-26  9:53 ` [virtio-dev] [PATCH v5 1/2] content: " Stefan Hajnoczi
2019-07-31  9:58   ` Cornelia Huck
2019-08-02 15:49     ` Stefan Hajnoczi
2019-08-05 15:38       ` Cornelia Huck
2019-08-05 17:03         ` Dr. David Alan Gilbert
2019-08-03 21:12   ` Michael S. Tsirkin
2019-08-13  9:07     ` Stefan Hajnoczi
2019-08-13 11:24       ` Michael S. Tsirkin
2019-08-13 15:13         ` Stefan Hajnoczi
2019-08-03 21:21   ` Michael S. Tsirkin
2019-08-13  9:35     ` Stefan Hajnoczi
2019-07-26  9:53 ` [virtio-dev] [PATCH v5 2/2] virtio-fs: add DAX window Stefan Hajnoczi
2019-07-26 11:41   ` [virtio-dev] " Michael S. Tsirkin
2019-08-12 13:55     ` Stefan Hajnoczi
2019-07-26 12:27 ` Michael S. Tsirkin [this message]
2019-07-26 12:34   ` [virtio-dev] Re: [PATCH v5 0/2] virtio-fs: add virtio file system device Dr. David Alan Gilbert
2019-08-12 13:56     ` Stefan Hajnoczi

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=20190726082553-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=mszeredi@redhat.com \
    --cc=stefanha@redhat.com \
    --cc=sweil@redhat.com \
    --cc=swhiteho@redhat.com \
    --cc=vgoyal@redhat.com \
    --cc=virtio-dev@lists.oasis-open.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.