From: Stefan Hajnoczi <stefanha@gmail.com> To: Pankaj Gupta <pagupta@redhat.com> Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, qemu-devel@nongnu.org, linux-nvdimm@ml01.01.org, linux-mm@kvack.org, jack@suse.cz, stefanha@redhat.com, dan.j.williams@intel.com, riel@surriel.com, haozhong.zhang@intel.com, nilal@redhat.com, kwolf@redhat.com, pbonzini@redhat.com, ross.zwisler@intel.com, david@redhat.com, xiaoguangrong.eric@gmail.com, hch@infradead.org, marcel@redhat.com, mst@redhat.com, niteshnarayanlal@hotmail.com, imammedo@redhat.com, lcapitulino@redhat.com Subject: Re: [RFC v2] qemu: Add virtio pmem device Date: Thu, 26 Apr 2018 14:24:06 +0100 [thread overview] Message-ID: <20180426132406.GC30991@stefanha-x1.localdomain> (raw) In-Reply-To: <20180425112415.12327-4-pagupta@redhat.com> [-- Attachment #1: Type: text/plain, Size: 1057 bytes --] On Wed, Apr 25, 2018 at 04:54:15PM +0530, Pankaj Gupta wrote: > +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. Please do the fsync from a thread pool. See block/file-posix.c's aio_worker() for an example. > +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. > +#define VIRTIO_PMEM_PLUG 0 What is this? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 455 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Stefan Hajnoczi <stefanha@gmail.com> To: Pankaj Gupta <pagupta@redhat.com> Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, qemu-devel@nongnu.org, linux-nvdimm@ml01.01.org, linux-mm@kvack.org, jack@suse.cz, stefanha@redhat.com, dan.j.williams@intel.com, riel@surriel.com, haozhong.zhang@intel.com, nilal@redhat.com, kwolf@redhat.com, pbonzini@redhat.com, ross.zwisler@intel.com, david@redhat.com, xiaoguangrong.eric@gmail.com, hch@infradead.org, marcel@redhat.com, mst@redhat.com, niteshnarayanlal@hotmail.com, imammedo@redhat.com, lcapitulino@redhat.com Subject: Re: [Qemu-devel] [RFC v2] qemu: Add virtio pmem device Date: Thu, 26 Apr 2018 14:24:06 +0100 [thread overview] Message-ID: <20180426132406.GC30991@stefanha-x1.localdomain> (raw) In-Reply-To: <20180425112415.12327-4-pagupta@redhat.com> [-- Attachment #1: Type: text/plain, Size: 1057 bytes --] On Wed, Apr 25, 2018 at 04:54:15PM +0530, Pankaj Gupta wrote: > +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. Please do the fsync from a thread pool. See block/file-posix.c's aio_worker() for an example. > +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. > +#define VIRTIO_PMEM_PLUG 0 What is this? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 455 bytes --]
next prev parent reply other threads:[~2018-04-26 13:24 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 [this message] 2018-04-26 13:24 ` Stefan Hajnoczi [not found] ` <20180426132406.GC30991-lxVrvc10SDRcolVlb+j0YCZi+YwRKgec@public.gmane.org> 2018-04-26 16:43 ` Pankaj Gupta 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=20180426132406.GC30991@stefanha-x1.localdomain \ --to=stefanha@gmail.com \ --cc=dan.j.williams@intel.com \ --cc=david@redhat.com \ --cc=haozhong.zhang@intel.com \ --cc=hch@infradead.org \ --cc=imammedo@redhat.com \ --cc=jack@suse.cz \ --cc=kvm@vger.kernel.org \ --cc=kwolf@redhat.com \ --cc=lcapitulino@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-nvdimm@ml01.01.org \ --cc=marcel@redhat.com \ --cc=mst@redhat.com \ --cc=nilal@redhat.com \ --cc=niteshnarayanlal@hotmail.com \ --cc=pagupta@redhat.com \ --cc=pbonzini@redhat.com \ --cc=qemu-devel@nongnu.org \ --cc=riel@surriel.com \ --cc=ross.zwisler@intel.com \ --cc=stefanha@redhat.com \ --cc=xiaoguangrong.eric@gmail.com \ /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: linkBe 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.