All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pankaj Gupta <pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Stefan Hajnoczi <stefanha-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: jack-AlSwsSmVLrQ@public.gmane.org,
	kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	david-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	linux-nvdimm-y27Ovi1pjclAfugRpC6u6w@public.gmane.org,
	ross zwisler
	<ross.zwisler-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org,
	lcapitulino-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
	niteshnarayanlal-PkbjNfxxIARBDgjK7y7TUQ@public.gmane.org,
	mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	marcel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	nilal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	riel-ebMLmSuQjDVBDgjK7y7TUQ@public.gmane.org,
	stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	kwolf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	xiaoguangrong eric
	<xiaoguangrong.eric-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	imammedo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: Re: [Qemu-devel] [RFC v2] qemu: Add virtio pmem device
Date: Thu, 26 Apr 2018 12:43:24 -0400 (EDT)	[thread overview]
Message-ID: <358601698.23011599.1524761004239.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20180426132406.GC30991-lxVrvc10SDRcolVlb+j0YCZi+YwRKgec@public.gmane.org>



> > +static void virtio_pmem_flush(VirtIODevice *vdev, VirtQueue *vq)
> > +{
> > +    VirtQueueElement *elem;
> > +    VirtIOPMEM *pmem = VIRTIO_PMEM(vdev);
> > +    HostMemoryBackend *backend = MEMORY_BACKEND(pmem->memdev);
> > +    int fd = memory_region_get_fd(&backend->mr);
> > +
> > +    elem = virtqueue_pop(vq, sizeof(VirtQueueElement));
> > +    if (!elem) {
> > +        return;
> > +    }
> > +    /* flush raw backing image */
> > +    fsync(fd);
> 
> fsync(2) is a blocking syscall.  This can hang QEMU for an unbounded
> amount of time.

o.k. Main thread will block, agree.

> 
> Please do the fsync from a thread pool.  See block/file-posix.c's
> aio_worker() for an example.

Sure!

> 
> > +static void virtio_pmem_get_config(VirtIODevice *vdev, uint8_t *config)
> > +{
> > +    VirtIOPMEM *pmem = VIRTIO_PMEM(vdev);
> > +    struct virtio_pmem_config *pmemcfg = (struct virtio_pmem_config *)
> > config;
> > +
> > +    pmemcfg->start = pmem->start;
> > +    pmemcfg->size  = pmem->size;
> 
> Endianness.  Please use virtio_st*_p() instead.

sure.

> 
> > +#define VIRTIO_PMEM_PLUG 0
> 
> What is this?

will remove

Thanks,
Pankaj 

WARNING: multiple messages have this Message-ID (diff)
From: Pankaj Gupta <pagupta@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: jack@suse.cz, kvm@vger.kernel.org, david@redhat.com,
	linux-nvdimm@ml01.01.org, ross zwisler <ross.zwisler@intel.com>,
	qemu-devel@nongnu.org, lcapitulino@redhat.com,
	linux-mm@kvack.org, niteshnarayanlal@hotmail.com, mst@redhat.com,
	hch@infradead.org, marcel@redhat.com, nilal@redhat.com,
	haozhong zhang <haozhong.zhang@intel.com>,
	riel@surriel.com, stefanha@redhat.com, pbonzini@redhat.com,
	dan j williams <dan.j.williams@intel.com>,
	kwolf@redhat.com,
	xiaoguangrong eric <xiaoguangrong.eric@gmail.com>,
	linux-kernel@vger.kernel.org, imammedo@redhat.com
Subject: Re: [Qemu-devel] [RFC v2] qemu: Add virtio pmem device
Date: Thu, 26 Apr 2018 12:43:24 -0400 (EDT)	[thread overview]
Message-ID: <358601698.23011599.1524761004239.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20180426132406.GC30991@stefanha-x1.localdomain>



> > +static void virtio_pmem_flush(VirtIODevice *vdev, VirtQueue *vq)
> > +{
> > +    VirtQueueElement *elem;
> > +    VirtIOPMEM *pmem = VIRTIO_PMEM(vdev);
> > +    HostMemoryBackend *backend = MEMORY_BACKEND(pmem->memdev);
> > +    int fd = memory_region_get_fd(&backend->mr);
> > +
> > +    elem = virtqueue_pop(vq, sizeof(VirtQueueElement));
> > +    if (!elem) {
> > +        return;
> > +    }
> > +    /* flush raw backing image */
> > +    fsync(fd);
> 
> fsync(2) is a blocking syscall.  This can hang QEMU for an unbounded
> amount of time.

o.k. Main thread will block, agree.

> 
> Please do the fsync from a thread pool.  See block/file-posix.c's
> aio_worker() for an example.

Sure!

> 
> > +static void virtio_pmem_get_config(VirtIODevice *vdev, uint8_t *config)
> > +{
> > +    VirtIOPMEM *pmem = VIRTIO_PMEM(vdev);
> > +    struct virtio_pmem_config *pmemcfg = (struct virtio_pmem_config *)
> > config;
> > +
> > +    pmemcfg->start = pmem->start;
> > +    pmemcfg->size  = pmem->size;
> 
> Endianness.  Please use virtio_st*_p() instead.

sure.

> 
> > +#define VIRTIO_PMEM_PLUG 0
> 
> What is this?

will remove

Thanks,
Pankaj 

  parent reply	other threads:[~2018-04-26 16:43 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-25 11:24 [RFC v2 0/2] kvm "fake DAX" device flushing Pankaj Gupta
2018-04-25 11:24 ` [Qemu-devel] " Pankaj Gupta
2018-04-25 11:24 ` Pankaj Gupta
     [not found] ` <20180425112415.12327-1-pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-04-25 11:24   ` [RFC v2 1/2] virtio: add pmem driver Pankaj Gupta
2018-04-25 11:24     ` [Qemu-devel] " Pankaj Gupta
2018-04-25 11:24     ` Pankaj Gupta
     [not found]     ` <20180425112415.12327-2-pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-04-25 14:21       ` Dan Williams
2018-04-25 14:21         ` [Qemu-devel] " Dan Williams
2018-04-25 14:21         ` Dan Williams
     [not found]         ` <CAPcyv4hvrB08XPTbVK0xT2_1Xmaid=-v3OMxJVDTNwQucsOHLA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-04-25 14:43           ` Dan Williams
2018-04-25 14:43             ` [Qemu-devel] " Dan Williams
2018-04-25 14:43             ` Dan Williams
     [not found]             ` <CAPcyv4hiowWozV527sQA_e4fdgCYbD6xfG==vepAqu0hxQEQcw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-04-26 12:27               ` Jeff Moyer
2018-04-26 12:27                 ` [Qemu-devel] " Jeff Moyer
2018-04-26 12:27                 ` Jeff Moyer
2018-04-26 12:27                 ` Jeff Moyer
     [not found]                 ` <x49o9i6885e.fsf-RRHT56Q3PSP4kTEheFKJxxDDeQx5vsVwAInAS/Ez/D0@public.gmane.org>
2018-04-26 17:15                   ` [Qemu-devel] " Pankaj Gupta
2018-04-26 17:15                     ` Pankaj Gupta
     [not found]                     ` <1499190564.23017177.1524762938762.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-04-26 17:24                       ` Jeff Moyer
2018-04-26 17:24                         ` Jeff Moyer
2018-04-25 14:52       ` Michael S. Tsirkin
2018-04-25 14:52         ` [Qemu-devel] " Michael S. Tsirkin
2018-04-25 14:52         ` Michael S. Tsirkin
     [not found]         ` <20180425174705-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2018-04-25 15:11           ` [Qemu-devel] " Pankaj Gupta
2018-04-25 15:11             ` Pankaj Gupta
2018-04-26 13:12     ` Stefan Hajnoczi
     [not found]       ` <20180426131236.GA30991-lxVrvc10SDRcolVlb+j0YCZi+YwRKgec@public.gmane.org>
2018-04-26 15:44         ` Pankaj Gupta
2018-04-26 15:44           ` Pankaj Gupta
2018-04-27 13:31           ` Stefan Hajnoczi
     [not found]             ` <20180427133146.GB11150-lxVrvc10SDRcolVlb+j0YCZi+YwRKgec@public.gmane.org>
2018-04-28 10:48               ` Pankaj Gupta
2018-04-28 10:48                 ` Pankaj Gupta
2018-04-25 11:24   ` [RFC v2 2/2] pmem: device flush over VIRTIO Pankaj Gupta
2018-04-25 11:24     ` [Qemu-devel] " Pankaj Gupta
2018-04-25 11:24     ` Pankaj Gupta
     [not found]     ` <20180425112415.12327-3-pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-04-25 14:23       ` Dan Williams
2018-04-25 14:23         ` [Qemu-devel] " Dan Williams
2018-04-25 14:23         ` Dan Williams
     [not found]         ` <CAPcyv4gpZzKfE7jY1peYOVd6sVhNz7jce1s_xNH_2Lt8AjRK-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-04-25 14:47           ` Pankaj Gupta
2018-04-25 14:47             ` [Qemu-devel] " Pankaj Gupta
2018-04-25 14:47             ` Pankaj Gupta
2018-04-26 13:15     ` Stefan Hajnoczi
2018-04-26 13:15       ` [Qemu-devel] " Stefan Hajnoczi
     [not found]       ` <20180426131517.GB30991-lxVrvc10SDRcolVlb+j0YCZi+YwRKgec@public.gmane.org>
2018-04-26 16:40         ` Pankaj Gupta
2018-04-26 16:40           ` [Qemu-devel] " Pankaj Gupta
2018-04-26 16:40           ` Pankaj Gupta
     [not found]           ` <58645254.23011245.1524760853269.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-04-26 16:57             ` Dan Williams
2018-04-26 16:57               ` [Qemu-devel] " Dan Williams
2018-04-26 16:57               ` Dan Williams
     [not found]               ` <CAPcyv4jv-hJNKJxak98T7aCnWztVEDTE8o=8fjvOrVmrTfyjdA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-04-26 17:13                 ` Pankaj Gupta
2018-04-26 17:13                   ` [Qemu-devel] " Pankaj Gupta
2018-04-26 17:13                   ` Pankaj Gupta
2018-04-25 11:24   ` [RFC v2] qemu: Add virtio pmem device Pankaj Gupta
2018-04-25 11:24     ` [Qemu-devel] " Pankaj Gupta
2018-04-25 11:24     ` Pankaj Gupta
     [not found]     ` <20180425112415.12327-4-pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-04-25 11:35       ` [Qemu-devel] " no-reply-isE1Te71pDtAfugRpC6u6w
2018-04-25 11:35         ` no-reply
2018-04-25 11:35         ` no-reply
2018-04-25 11:58         ` Pankaj Gupta
2018-04-25 11:58           ` Pankaj Gupta
2018-04-25 14:23           ` Eric Blake
2018-04-25 14:23             ` Eric Blake
     [not found]             ` <79f72139-0fcb-3d5e-a16c-24f3b5ee1a07-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-04-25 14:51               ` Pankaj Gupta
2018-04-25 14:51                 ` Pankaj Gupta
2018-04-25 11:46     ` no-reply
2018-04-25 11:46       ` no-reply
2018-04-25 11:46       ` no-reply
2018-04-25 14:25     ` Eric Blake
2018-04-25 14:25       ` Eric Blake
     [not found]       ` <25f3e433-cfa6-4a62-ba7f-47aef1119dfc-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-04-25 14:55         ` Pankaj Gupta
2018-04-25 14:55           ` Pankaj Gupta
2018-04-26 13:24     ` Stefan Hajnoczi
2018-04-26 13:24       ` [Qemu-devel] " Stefan Hajnoczi
     [not found]       ` <20180426132406.GC30991-lxVrvc10SDRcolVlb+j0YCZi+YwRKgec@public.gmane.org>
2018-04-26 16:43         ` Pankaj Gupta [this message]
2018-04-26 16:43           ` Pankaj Gupta
2018-06-01 12:24   ` [Qemu-devel] [RFC v2 0/2] kvm "fake DAX" device flushing Igor Mammedov
2018-06-01 12:24     ` Igor Mammedov
     [not found]     ` <20180601142410.5c986f13-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-06-04  5:56       ` Pankaj Gupta
2018-06-04  5:56         ` Pankaj Gupta
2018-06-04  9:55       ` David Hildenbrand
2018-06-04  9:55         ` David Hildenbrand

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=358601698.23011599.1524761004239.JavaMail.zimbra@redhat.com \
    --to=pagupta-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=david-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=imammedo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=jack-AlSwsSmVLrQ@public.gmane.org \
    --cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=kwolf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=lcapitulino-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
    --cc=linux-nvdimm-y27Ovi1pjclAfugRpC6u6w@public.gmane.org \
    --cc=marcel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=nilal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=niteshnarayanlal-PkbjNfxxIARBDgjK7y7TUQ@public.gmane.org \
    --cc=pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org \
    --cc=riel-ebMLmSuQjDVBDgjK7y7TUQ@public.gmane.org \
    --cc=ross.zwisler-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=stefanha-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=xiaoguangrong.eric-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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.