From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 26 Jul 2017 09:47:21 -0400 (EDT) From: Pankaj Gupta Message-ID: <1063764405.34607875.1501076841865.JavaMail.zimbra@redhat.com> In-Reply-To: <1501016375.26846.21.camel@redhat.com> References: <1455443283.33337333.1500618150787.JavaMail.zimbra@redhat.com> <20170724102330.GE652@quack2.suse.cz> <1157879323.33809400.1500897967669.JavaMail.zimbra@redhat.com> <20170724123752.GN652@quack2.suse.cz> <1888117852.34216619.1500992835767.JavaMail.zimbra@redhat.com> <1501016375.26846.21.camel@redhat.com> Subject: Re: KVM "fake DAX" flushing interface - discussion MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: Rik van Riel Cc: Kevin Wolf , Jan Kara , xiaoguangrong eric , kvm-devel , Stefan Hajnoczi , Ross Zwisler , Qemu Developers , Stefan Hajnoczi , "linux-nvdimm@lists.01.org" , Paolo Bonzini , Nitesh Narayan Lal List-ID: Cj4gCj4gT24gVHVlLCAyMDE3LTA3LTI1IGF0IDA3OjQ2IC0wNzAwLCBEYW4gV2lsbGlhbXMgd3Jv dGU6Cj4gPiBPbiBUdWUsIEp1bCAyNSwgMjAxNyBhdCA3OjI3IEFNLCBQYW5rYWogR3VwdGEgPHBh Z3VwdGFAcmVkaGF0LmNvbT4KPiA+IHdyb3RlOgo+ID4gPiAKPiA+ID4gTG9va3MgbGlrZSBvbmx5 IHdheSB0byBzZW5kIGZsdXNoKGJsayBkZXYpIGZyb20gZ3Vlc3QgdG8gaG9zdCB3aXRoCj4gPiA+ IG52ZGltbQo+ID4gPiBpcyB1c2luZyBmbHVzaCBoaW50IGFkZHJlc3Nlcy4gSXMgdGhpcyB0aGUg Y29ycmVjdCBpbnRlcmZhY2UgSSBhbQo+ID4gPiBsb29raW5nPwo+ID4gPiAKPiA+ID4gYmxrZGV2 X2lzc3VlX2ZsdXNoCj4gPiA+IMKgc3VibWl0X2Jpb193YWl0Cj4gPiA+IMKgIHN1Ym1pdF9iaW8K PiA+ID4gwqDCoMKgwqBnZW5lcmljX21ha2VfcmVxdWVzdAo+ID4gPiDCoMKgwqDCoMKgwqBwbWVt X21ha2VfcmVxdWVzdAo+ID4gPiDCoMKgwqDCoMKgwqAuLi4KPiA+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGlmIChiaW8tPmJpX29wZiAmIFJFUV9GTFVTSCkKPiA+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBudmRpbW1fZmx1c2gobmRfcmVnaW9uKTsKPiA+IAo+ID4gSSB3b3Vs ZCBpbmplY3QgYSBwYXJhdmlydHVhbGl6ZWQgdmVyc2lvbiBvZiBwbWVtX21ha2VfcmVxdWVzdCgp IHRoYXQKPiA+IHNlbmRzIGFuIGFzeW5jIGZsdXNoIG9wZXJhdGlvbiBvdmVyIHZpcnRpbyB0byB0 aGUgaG9zdC4gRG9uJ3QgdHJ5IHRvCj4gPiB1c2UgZmx1c2ggaGludCBhZGRyZXNzZXMgZm9yIHRo aXMsIHRoZXkgZG9uJ3QgaGF2ZSB0aGUgcHJvcGVyCj4gPiBzZW1hbnRpY3MuIFRoZSBndWVzdCBz aG91bGQgYmUgYWxsb3dlZCB0byBpc3N1ZSB0aGUgZmx1c2ggYW5kIHJlY2VpdmUKPiA+IHRoZSBj b21wbGV0aW9uIGFzeW5jaHJvbm91c2x5IHJhdGhlciB0aGFuIHRha2luZyBhIHZtIGV4aXN0IGFu ZAo+ID4gYmxvY2tpbmcgb24gdGhhdCByZXF1ZXN0Lgo+IAo+IFRoYXQgaXMgbXkgZmVlbGluZywg dG9vLiBBIHNsb3dlciBJTyBkZXZpY2UgYmVuZWZpdHMKPiBncmVhdGx5IGZyb20gYW4gYXN5bmNo cm9ub3VzIGZsdXNoIG1lY2hhbmlzbS4KClRoYW5rcyBmb3IgYWxsIHRoZSBzdWdnZXN0aW9ucyEK Ckp1c3Qgd2FudCB0byBzdW1tYXJpemUgaGVyZShoaWdoIGxldmVsKToKClRoaXMgd2lsbCByZXF1 aXJlIGltcGxlbWVudGluZyBuZXcgJ3ZpcnRpby1wbWVtJyBkZXZpY2Ugd2hpY2ggcHJlc2VudHMg CmEgREFYIGFkZHJlc3MgcmFuZ2UobGlrZSBwbWVtKSB0byBndWVzdCB3aXRoIHJlYWQvd3JpdGUo ZGlyZWN0IGFjY2VzcykKJiBkZXZpY2UgZmx1c2ggZnVuY3Rpb25hbGl0eS4gQWxzbywgcWVtdSBz aG91bGQgaW1wbGVtZW50IGNvcnJlc3BvbmRpbmcKc3VwcG9ydCBmb3IgZmx1c2ggdXNpbmcgdmly dGlvLgoKVGhhbmtzLApQYW5rYWoKPiAKPiAtLQo+IEFsbCByaWdodHMgcmV2ZXJzZWQKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtbnZkaW1tIG1h aWxpbmcgbGlzdApMaW51eC1udmRpbW1AbGlzdHMuMDEub3JnCmh0dHBzOi8vbGlzdHMuMDEub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtbnZkaW1tCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pankaj Gupta Subject: Re: KVM "fake DAX" flushing interface - discussion Date: Wed, 26 Jul 2017 09:47:21 -0400 (EDT) Message-ID: <1063764405.34607875.1501076841865.JavaMail.zimbra@redhat.com> References: <1455443283.33337333.1500618150787.JavaMail.zimbra@redhat.com> <20170724102330.GE652@quack2.suse.cz> <1157879323.33809400.1500897967669.JavaMail.zimbra@redhat.com> <20170724123752.GN652@quack2.suse.cz> <1888117852.34216619.1500992835767.JavaMail.zimbra@redhat.com> <1501016375.26846.21.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Kevin Wolf , Jan Kara , xiaoguangrong eric , kvm-devel , Stefan Hajnoczi , Ross Zwisler , Qemu Developers , Stefan Hajnoczi , "linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org" , Paolo Bonzini , Nitesh Narayan Lal To: Rik van Riel Return-path: In-Reply-To: <1501016375.26846.21.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-nvdimm-bounces-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org Sender: "Linux-nvdimm" List-Id: kvm.vger.kernel.org Cj4gCj4gT24gVHVlLCAyMDE3LTA3LTI1IGF0IDA3OjQ2IC0wNzAwLCBEYW4gV2lsbGlhbXMgd3Jv dGU6Cj4gPiBPbiBUdWUsIEp1bCAyNSwgMjAxNyBhdCA3OjI3IEFNLCBQYW5rYWogR3VwdGEgPHBh Z3VwdGFAcmVkaGF0LmNvbT4KPiA+IHdyb3RlOgo+ID4gPiAKPiA+ID4gTG9va3MgbGlrZSBvbmx5 IHdheSB0byBzZW5kIGZsdXNoKGJsayBkZXYpIGZyb20gZ3Vlc3QgdG8gaG9zdCB3aXRoCj4gPiA+ IG52ZGltbQo+ID4gPiBpcyB1c2luZyBmbHVzaCBoaW50IGFkZHJlc3Nlcy4gSXMgdGhpcyB0aGUg Y29ycmVjdCBpbnRlcmZhY2UgSSBhbQo+ID4gPiBsb29raW5nPwo+ID4gPiAKPiA+ID4gYmxrZGV2 X2lzc3VlX2ZsdXNoCj4gPiA+IMKgc3VibWl0X2Jpb193YWl0Cj4gPiA+IMKgIHN1Ym1pdF9iaW8K PiA+ID4gwqDCoMKgwqBnZW5lcmljX21ha2VfcmVxdWVzdAo+ID4gPiDCoMKgwqDCoMKgwqBwbWVt X21ha2VfcmVxdWVzdAo+ID4gPiDCoMKgwqDCoMKgwqAuLi4KPiA+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGlmIChiaW8tPmJpX29wZiAmIFJFUV9GTFVTSCkKPiA+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBudmRpbW1fZmx1c2gobmRfcmVnaW9uKTsKPiA+IAo+ID4gSSB3b3Vs ZCBpbmplY3QgYSBwYXJhdmlydHVhbGl6ZWQgdmVyc2lvbiBvZiBwbWVtX21ha2VfcmVxdWVzdCgp IHRoYXQKPiA+IHNlbmRzIGFuIGFzeW5jIGZsdXNoIG9wZXJhdGlvbiBvdmVyIHZpcnRpbyB0byB0 aGUgaG9zdC4gRG9uJ3QgdHJ5IHRvCj4gPiB1c2UgZmx1c2ggaGludCBhZGRyZXNzZXMgZm9yIHRo aXMsIHRoZXkgZG9uJ3QgaGF2ZSB0aGUgcHJvcGVyCj4gPiBzZW1hbnRpY3MuIFRoZSBndWVzdCBz aG91bGQgYmUgYWxsb3dlZCB0byBpc3N1ZSB0aGUgZmx1c2ggYW5kIHJlY2VpdmUKPiA+IHRoZSBj b21wbGV0aW9uIGFzeW5jaHJvbm91c2x5IHJhdGhlciB0aGFuIHRha2luZyBhIHZtIGV4aXN0IGFu ZAo+ID4gYmxvY2tpbmcgb24gdGhhdCByZXF1ZXN0Lgo+IAo+IFRoYXQgaXMgbXkgZmVlbGluZywg dG9vLiBBIHNsb3dlciBJTyBkZXZpY2UgYmVuZWZpdHMKPiBncmVhdGx5IGZyb20gYW4gYXN5bmNo cm9ub3VzIGZsdXNoIG1lY2hhbmlzbS4KClRoYW5rcyBmb3IgYWxsIHRoZSBzdWdnZXN0aW9ucyEK Ckp1c3Qgd2FudCB0byBzdW1tYXJpemUgaGVyZShoaWdoIGxldmVsKToKClRoaXMgd2lsbCByZXF1 aXJlIGltcGxlbWVudGluZyBuZXcgJ3ZpcnRpby1wbWVtJyBkZXZpY2Ugd2hpY2ggcHJlc2VudHMg CmEgREFYIGFkZHJlc3MgcmFuZ2UobGlrZSBwbWVtKSB0byBndWVzdCB3aXRoIHJlYWQvd3JpdGUo ZGlyZWN0IGFjY2VzcykKJiBkZXZpY2UgZmx1c2ggZnVuY3Rpb25hbGl0eS4gQWxzbywgcWVtdSBz aG91bGQgaW1wbGVtZW50IGNvcnJlc3BvbmRpbmcKc3VwcG9ydCBmb3IgZmx1c2ggdXNpbmcgdmly dGlvLgoKVGhhbmtzLApQYW5rYWoKPiAKPiAtLQo+IEFsbCByaWdodHMgcmV2ZXJzZWQKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtbnZkaW1tIG1h aWxpbmcgbGlzdApMaW51eC1udmRpbW1AbGlzdHMuMDEub3JnCmh0dHBzOi8vbGlzdHMuMDEub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtbnZkaW1tCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38327) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1daMex-0008DZ-Qk for qemu-devel@nongnu.org; Wed, 26 Jul 2017 09:47:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1daMeu-0003JA-NE for qemu-devel@nongnu.org; Wed, 26 Jul 2017 09:47:31 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38142) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1daMeu-0003Ia-EJ for qemu-devel@nongnu.org; Wed, 26 Jul 2017 09:47:28 -0400 Date: Wed, 26 Jul 2017 09:47:21 -0400 (EDT) From: Pankaj Gupta Message-ID: <1063764405.34607875.1501076841865.JavaMail.zimbra@redhat.com> In-Reply-To: <1501016375.26846.21.camel@redhat.com> References: <1455443283.33337333.1500618150787.JavaMail.zimbra@redhat.com> <20170724102330.GE652@quack2.suse.cz> <1157879323.33809400.1500897967669.JavaMail.zimbra@redhat.com> <20170724123752.GN652@quack2.suse.cz> <1888117852.34216619.1500992835767.JavaMail.zimbra@redhat.com> <1501016375.26846.21.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] KVM "fake DAX" flushing interface - discussion List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Rik van Riel Cc: Dan Williams , Jan Kara , Stefan Hajnoczi , Stefan Hajnoczi , kvm-devel , Qemu Developers , "linux-nvdimm@lists.01.org" , ross zwisler , Paolo Bonzini , Kevin Wolf , Nitesh Narayan Lal , xiaoguangrong eric , Haozhong Zhang , Ross Zwisler >=20 > On Tue, 2017-07-25 at 07:46 -0700, Dan Williams wrote: > > On Tue, Jul 25, 2017 at 7:27 AM, Pankaj Gupta > > wrote: > > >=20 > > > Looks like only way to send flush(blk dev) from guest to host with > > > nvdimm > > > is using flush hint addresses. Is this the correct interface I am > > > looking? > > >=20 > > > blkdev_issue_flush > > > =C2=A0submit_bio_wait > > > =C2=A0 submit_bio > > > =C2=A0=C2=A0=C2=A0=C2=A0generic_make_request > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0pmem_make_request > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0... > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if = (bio->bi_opf & REQ_FLUSH) > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0nvdimm_flush(nd_region); > >=20 > > I would inject a paravirtualized version of pmem_make_request() that > > sends an async flush operation over virtio to the host. Don't try to > > use flush hint addresses for this, they don't have the proper > > semantics. The guest should be allowed to issue the flush and receive > > the completion asynchronously rather than taking a vm exist and > > blocking on that request. >=20 > That is my feeling, too. A slower IO device benefits > greatly from an asynchronous flush mechanism. Thanks for all the suggestions! Just want to summarize here(high level): This will require implementing new 'virtio-pmem' device which presents=20 a DAX address range(like pmem) to guest with read/write(direct access) & device flush functionality. Also, qemu should implement corresponding support for flush using virtio. Thanks, Pankaj >=20 > -- > All rights reversed