From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <1500645635.4073.25.camel@redhat.com> Subject: Re: KVM "fake DAX" flushing interface - discussion From: Rik van Riel Date: Fri, 21 Jul 2017 10:00:35 -0400 In-Reply-To: <46101617.33460557.1500643755247.JavaMail.zimbra@redhat.com> References: <1455443283.33337333.1500618150787.JavaMail.zimbra@redhat.com> <945864462.33340808.1500620194836.JavaMail.zimbra@redhat.com> <20170721121241.GA18014@stefanha-x1.localdomain> <46101617.33460557.1500643755247.JavaMail.zimbra@redhat.com> 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: Pankaj Gupta , Stefan Hajnoczi Cc: Kevin Wolf , xiaoguangrong eric , kvm-devel , "linux-nvdimm@lists.01.org" , Qemu Developers , Stefan Hajnoczi , Paolo Bonzini , Nitesh Narayan Lal List-ID: T24gRnJpLCAyMDE3LTA3LTIxIGF0IDA5OjI5IC0wNDAwLCBQYW5rYWogR3VwdGEgd3JvdGU6Cj4g PiA+IAo+ID4gPiDCoMKgwqDCoMKgLSBGbHVzaCBoaW50IGFkZHJlc3MgdHJhcHMgZnJvbSBndWVz dCB0byBob3N0IGFuZCBkbyBhbgo+ID4gPiBlbnRpcmUgZnN5bmMKPiA+ID4gwqDCoMKgwqDCoMKg wqBvbiBiYWNraW5nIGZpbGUgd2hpY2ggaXRzZWxmIGlzIGNvc3RseS4KPiA+ID4gCj4gPiA+IMKg wqDCoMKgwqAtIENhbiBiZSB1c2VkIHRvIGZsdXNoIHNwZWNpZmljIHBhZ2VzIG9uIGhvc3QgYmFj a2luZyBkaXNrLgo+ID4gPiBXZSBjYW4KPiA+ID4gwqDCoMKgwqDCoMKgwqBzZW5kIGRhdGEocGFn ZXMgaW5mb3JtYXRpb24pIGVxdWFsIHRvIGNhY2hlLWxpbmUKPiA+ID4gc2l6ZShsaW1pdGF0aW9u KQo+ID4gPiDCoMKgwqDCoMKgwqDCoGFuZCB0ZWxsIGhvc3QgdG8gc3luYyBjb3JyZXNwb25kaW5n IHBhZ2VzIGluc3RlYWQgb2YKPiA+ID4gZW50aXJlIGRpc2sKPiA+ID4gwqDCoMKgwqDCoMKgwqBz eW5jLgo+ID4gCj4gPiBBcmUgeW91IHN1cmU/wqDCoFlvdXIgcHJldmlvdXMgcG9pbnQgc2F5cyBv bmx5IHRoZSBlbnRpcmUgZGV2aWNlIGNhbgo+ID4gYmUKPiA+IHN5bmNlZC7CoMKgVGhlIE5WRElN TSBBZHJlc3MgRmx1c2ggSGludHMgaW50ZXJmYWNlIGRvZXMgbm90IGludm9sdmUKPiA+IGFkZHJl c3MgcmFuZ2UgaW5mb3JtYXRpb24uCj4gCj4gSnVzdCBzeW5jaW5nIGVudGlyZSBibG9jayBkZXZp Y2Ugc2hvdWxkIGJlIHNpbXBsZSBidXQgY29zdGx5LgoKQ29zdGx5IGRlcGVuZHMgb24ganVzdCBo b3cgZmFzdCB0aGUgYmFja2luZyBJTyBkZXZpY2UgaXMuCgpJZiB0aGUgYmFja2luZyBJTyBpcyBh IHNwaW5uaW5nIGRpc2ssIGRvaW5nIHRhcmdldGVkIHJhbmdlCnN5bmNzIHdpbGwgY2VydGFpbmx5 IGJlIGZhc3Rlci4KCk9uIHRoZSBvdGhlciBoYW5kLCBpZiB0aGUgYmFja2luZyBJTyBpcyBvbmUg b2YgdGhlIGxhdGVzdApnZW5lcmF0aW9uIFNTRCBkZXZpY2VzLCBpdCBtYXkgYmUgZmFzdGVyIHRv IGhhdmUganVzdCBvbmUKaHlwZXJjYWxsIGFuZCBmbHVzaCBldmVyeXRoaW5nLCB0aGFuIGl0IHdv dWxkIGJlIHRvIGhhdmUKc2VwYXJhdGUgc3luYyBjYWxscyBmb3IgZWFjaCByYW5nZSB0aGF0IHdl IHdhbnQgZmx1c2hlZC4KClNob3VsZCB3ZSBkZXNpZ24gb3VyIGludGVyZmFjZXMgZm9yIHllc3Rl cmRheSdzIHN0b3JhZ2UKZGV2aWNlcywgb3IgZm9yIHRvbW9ycm93J3Mgc3RvcmFnZSBkZXZpY2Vz PwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1u dmRpbW0gbWFpbGluZyBsaXN0CkxpbnV4LW52ZGltbUBsaXN0cy4wMS5vcmcKaHR0cHM6Ly9saXN0 cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1udmRpbW0K From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rik van Riel Subject: Re: KVM "fake DAX" flushing interface - discussion Date: Fri, 21 Jul 2017 10:00:35 -0400 Message-ID: <1500645635.4073.25.camel@redhat.com> References: <1455443283.33337333.1500618150787.JavaMail.zimbra@redhat.com> <945864462.33340808.1500620194836.JavaMail.zimbra@redhat.com> <20170721121241.GA18014@stefanha-x1.localdomain> <46101617.33460557.1500643755247.JavaMail.zimbra@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Kevin Wolf , xiaoguangrong eric , kvm-devel , "linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org" , Qemu Developers , Stefan Hajnoczi , Paolo Bonzini , Nitesh Narayan Lal To: Pankaj Gupta , Stefan Hajnoczi Return-path: In-Reply-To: <46101617.33460557.1500643755247.JavaMail.zimbra-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 T24gRnJpLCAyMDE3LTA3LTIxIGF0IDA5OjI5IC0wNDAwLCBQYW5rYWogR3VwdGEgd3JvdGU6Cj4g PiA+IAo+ID4gPiDCoMKgwqDCoMKgLSBGbHVzaCBoaW50IGFkZHJlc3MgdHJhcHMgZnJvbSBndWVz dCB0byBob3N0IGFuZCBkbyBhbgo+ID4gPiBlbnRpcmUgZnN5bmMKPiA+ID4gwqDCoMKgwqDCoMKg wqBvbiBiYWNraW5nIGZpbGUgd2hpY2ggaXRzZWxmIGlzIGNvc3RseS4KPiA+ID4gCj4gPiA+IMKg wqDCoMKgwqAtIENhbiBiZSB1c2VkIHRvIGZsdXNoIHNwZWNpZmljIHBhZ2VzIG9uIGhvc3QgYmFj a2luZyBkaXNrLgo+ID4gPiBXZSBjYW4KPiA+ID4gwqDCoMKgwqDCoMKgwqBzZW5kIGRhdGEocGFn ZXMgaW5mb3JtYXRpb24pIGVxdWFsIHRvIGNhY2hlLWxpbmUKPiA+ID4gc2l6ZShsaW1pdGF0aW9u KQo+ID4gPiDCoMKgwqDCoMKgwqDCoGFuZCB0ZWxsIGhvc3QgdG8gc3luYyBjb3JyZXNwb25kaW5n IHBhZ2VzIGluc3RlYWQgb2YKPiA+ID4gZW50aXJlIGRpc2sKPiA+ID4gwqDCoMKgwqDCoMKgwqBz eW5jLgo+ID4gCj4gPiBBcmUgeW91IHN1cmU/wqDCoFlvdXIgcHJldmlvdXMgcG9pbnQgc2F5cyBv bmx5IHRoZSBlbnRpcmUgZGV2aWNlIGNhbgo+ID4gYmUKPiA+IHN5bmNlZC7CoMKgVGhlIE5WRElN TSBBZHJlc3MgRmx1c2ggSGludHMgaW50ZXJmYWNlIGRvZXMgbm90IGludm9sdmUKPiA+IGFkZHJl c3MgcmFuZ2UgaW5mb3JtYXRpb24uCj4gCj4gSnVzdCBzeW5jaW5nIGVudGlyZSBibG9jayBkZXZp Y2Ugc2hvdWxkIGJlIHNpbXBsZSBidXQgY29zdGx5LgoKQ29zdGx5IGRlcGVuZHMgb24ganVzdCBo b3cgZmFzdCB0aGUgYmFja2luZyBJTyBkZXZpY2UgaXMuCgpJZiB0aGUgYmFja2luZyBJTyBpcyBh IHNwaW5uaW5nIGRpc2ssIGRvaW5nIHRhcmdldGVkIHJhbmdlCnN5bmNzIHdpbGwgY2VydGFpbmx5 IGJlIGZhc3Rlci4KCk9uIHRoZSBvdGhlciBoYW5kLCBpZiB0aGUgYmFja2luZyBJTyBpcyBvbmUg b2YgdGhlIGxhdGVzdApnZW5lcmF0aW9uIFNTRCBkZXZpY2VzLCBpdCBtYXkgYmUgZmFzdGVyIHRv IGhhdmUganVzdCBvbmUKaHlwZXJjYWxsIGFuZCBmbHVzaCBldmVyeXRoaW5nLCB0aGFuIGl0IHdv dWxkIGJlIHRvIGhhdmUKc2VwYXJhdGUgc3luYyBjYWxscyBmb3IgZWFjaCByYW5nZSB0aGF0IHdl IHdhbnQgZmx1c2hlZC4KClNob3VsZCB3ZSBkZXNpZ24gb3VyIGludGVyZmFjZXMgZm9yIHllc3Rl cmRheSdzIHN0b3JhZ2UKZGV2aWNlcywgb3IgZm9yIHRvbW9ycm93J3Mgc3RvcmFnZSBkZXZpY2Vz PwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1u dmRpbW0gbWFpbGluZyBsaXN0CkxpbnV4LW52ZGltbUBsaXN0cy4wMS5vcmcKaHR0cHM6Ly9saXN0 cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1udmRpbW0K From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54161) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYYb7-00032m-F7 for qemu-devel@nongnu.org; Fri, 21 Jul 2017 10:08:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dYYb6-0000uX-KF for qemu-devel@nongnu.org; Fri, 21 Jul 2017 10:08:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42812) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dYYb6-0000rp-E3 for qemu-devel@nongnu.org; Fri, 21 Jul 2017 10:08:04 -0400 Message-ID: <1500645635.4073.25.camel@redhat.com> From: Rik van Riel Date: Fri, 21 Jul 2017 10:00:35 -0400 In-Reply-To: <46101617.33460557.1500643755247.JavaMail.zimbra@redhat.com> References: <1455443283.33337333.1500618150787.JavaMail.zimbra@redhat.com> <945864462.33340808.1500620194836.JavaMail.zimbra@redhat.com> <20170721121241.GA18014@stefanha-x1.localdomain> <46101617.33460557.1500643755247.JavaMail.zimbra@redhat.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 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: Pankaj Gupta , Stefan Hajnoczi Cc: kvm-devel , Qemu Developers , "linux-nvdimm@lists.01.org" , Dan Williams , Stefan Hajnoczi , ross zwisler , Paolo Bonzini , Kevin Wolf , Nitesh Narayan Lal , xiaoguangrong eric , Haozhong Zhang On Fri, 2017-07-21 at 09:29 -0400, Pankaj Gupta wrote: > > >=20 > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- Flush hint address traps from guest= to host and do an > > > entire fsync > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0on backing file which its= elf is costly. > > >=20 > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- Can be used to flush specific pages= on host backing disk. > > > We can > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0send data(pages informati= on) equal to cache-line > > > size(limitation) > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0and tell host to sync cor= responding pages instead of > > > entire disk > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0sync. > >=20 > > Are you sure?=C2=A0=C2=A0Your previous point says only the entire dev= ice can > > be > > synced.=C2=A0=C2=A0The NVDIMM Adress Flush Hints interface does not i= nvolve > > address range information. >=20 > Just syncing entire block device should be simple but costly. Costly depends on just how fast the backing IO device is. If the backing IO is a spinning disk, doing targeted range syncs will certainly be faster. On the other hand, if the backing IO is one of the latest generation SSD devices, it may be faster to have just one hypercall and flush everything, than it would be to have separate sync calls for each range that we want flushed. Should we design our interfaces for yesterday's storage devices, or for tomorrow's storage devices?