From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59014) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bIHZ9-0006eG-4C for qemu-devel@nongnu.org; Wed, 29 Jun 2016 11:38:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bIHZ5-0001Y2-1z for qemu-devel@nongnu.org; Wed, 29 Jun 2016 11:38:15 -0400 Received: from mx2.suse.de ([195.135.220.15]:57275) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bIHZ4-0001WJ-RZ for qemu-devel@nongnu.org; Wed, 29 Jun 2016 11:38:10 -0400 References: <1466162096-4934-1-git-send-email-jgross@suse.com> <20160629152000.GA5666@perard.uk.xensource.com> From: Juergen Gross Message-ID: <5773EB5F.4060407@suse.com> Date: Wed, 29 Jun 2016 17:38:07 +0200 MIME-Version: 1.0 In-Reply-To: <20160629152000.GA5666@perard.uk.xensource.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] xen: use native disk xenbus protocol if possible List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony PERARD Cc: qemu-devel@nongnu.org, xen-devel@lists.xensource.com, kraxel@redhat.com, sstabellini@kernel.org On 29/06/16 17:20, Anthony PERARD wrote: > On Fri, Jun 17, 2016 at 01:14:56PM +0200, Juergen Gross wrote: >> The qdisk implementation is using the native xenbus protocol only in >> case of no protocol specified at all. As using the explicit 32- or >> 64-bit protocol is slower than the native one due to copying requests >> not by memcpy but element for element, this is not optimal. >> >> Correct this by using the native protocol in case word sizes of >> frontend and backend match. >> >> Signed-off-by: Juergen Gross >> --- >> hw/block/xen_disk.c | 16 ++++++++-------- >> 1 file changed, 8 insertions(+), 8 deletions(-) >> >> diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c >> index 2862b59..0961fcb 100644 >> --- a/hw/block/xen_disk.c >> +++ b/hw/block/xen_disk.c >> @@ -976,14 +976,14 @@ static int blk_connect(struct XenDevice *xendev) >> blkdev->feature_persistent = !!pers; >> } >> >> - blkdev->protocol = BLKIF_PROTOCOL_NATIVE; >> - if (blkdev->xendev.protocol) { >> - if (strcmp(blkdev->xendev.protocol, XEN_IO_PROTO_ABI_X86_32) == 0) { >> - blkdev->protocol = BLKIF_PROTOCOL_X86_32; >> - } >> - if (strcmp(blkdev->xendev.protocol, XEN_IO_PROTO_ABI_X86_64) == 0) { >> - blkdev->protocol = BLKIF_PROTOCOL_X86_64; >> - } >> + if (!blkdev->xendev.protocol) { >> + blkdev->protocol = BLKIF_PROTOCOL_NATIVE; >> + } else if (strcmp(blkdev->xendev.protocol, XEN_IO_PROTO_ABI_NATIVE) == 0) { >> + blkdev->protocol = BLKIF_PROTOCOL_NATIVE; >> + } else if (strcmp(blkdev->xendev.protocol, XEN_IO_PROTO_ABI_X86_32) == 0) { >> + blkdev->protocol = BLKIF_PROTOCOL_X86_32; >> + } else if (strcmp(blkdev->xendev.protocol, XEN_IO_PROTO_ABI_X86_64) == 0) { >> + blkdev->protocol = BLKIF_PROTOCOL_X86_64; > > There is one difference with the previous code, in case the protocol is > specified, but it not x86_32 or x86_64, then no blkdev->protocol is > selected (then no ring is initialized). Could you re-add this case? Aah, of course! Thanks, Juergen From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [PATCH] xen: use native disk xenbus protocol if possible Date: Wed, 29 Jun 2016 17:38:07 +0200 Message-ID: <5773EB5F.4060407@suse.com> References: <1466162096-4934-1-git-send-email-jgross@suse.com> <20160629152000.GA5666@perard.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160629152000.GA5666@perard.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Anthony PERARD Cc: xen-devel@lists.xensource.com, sstabellini@kernel.org, qemu-devel@nongnu.org, kraxel@redhat.com List-Id: xen-devel@lists.xenproject.org T24gMjkvMDYvMTYgMTc6MjAsIEFudGhvbnkgUEVSQVJEIHdyb3RlOgo+IE9uIEZyaSwgSnVuIDE3 LCAyMDE2IGF0IDAxOjE0OjU2UE0gKzAyMDAsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6Cj4+IFRoZSBx ZGlzayBpbXBsZW1lbnRhdGlvbiBpcyB1c2luZyB0aGUgbmF0aXZlIHhlbmJ1cyBwcm90b2NvbCBv bmx5IGluCj4+IGNhc2Ugb2Ygbm8gcHJvdG9jb2wgc3BlY2lmaWVkIGF0IGFsbC4gQXMgdXNpbmcg dGhlIGV4cGxpY2l0IDMyLSBvcgo+PiA2NC1iaXQgcHJvdG9jb2wgaXMgc2xvd2VyIHRoYW4gdGhl IG5hdGl2ZSBvbmUgZHVlIHRvIGNvcHlpbmcgcmVxdWVzdHMKPj4gbm90IGJ5IG1lbWNweSBidXQg ZWxlbWVudCBmb3IgZWxlbWVudCwgdGhpcyBpcyBub3Qgb3B0aW1hbC4KPj4KPj4gQ29ycmVjdCB0 aGlzIGJ5IHVzaW5nIHRoZSBuYXRpdmUgcHJvdG9jb2wgaW4gY2FzZSB3b3JkIHNpemVzIG9mCj4+ IGZyb250ZW5kIGFuZCBiYWNrZW5kIG1hdGNoLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2Vu IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Cj4+IC0tLQo+PiAgaHcvYmxvY2sveGVuX2Rpc2suYyB8 IDE2ICsrKysrKysrLS0tLS0tLS0KPj4gIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyks IDggZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9ody9ibG9jay94ZW5fZGlzay5jIGIv aHcvYmxvY2sveGVuX2Rpc2suYwo+PiBpbmRleCAyODYyYjU5Li4wOTYxZmNiIDEwMDY0NAo+PiAt LS0gYS9ody9ibG9jay94ZW5fZGlzay5jCj4+ICsrKyBiL2h3L2Jsb2NrL3hlbl9kaXNrLmMKPj4g QEAgLTk3NiwxNCArOTc2LDE0IEBAIHN0YXRpYyBpbnQgYmxrX2Nvbm5lY3Qoc3RydWN0IFhlbkRl dmljZSAqeGVuZGV2KQo+PiAgICAgICAgICBibGtkZXYtPmZlYXR1cmVfcGVyc2lzdGVudCA9ICEh cGVyczsKPj4gICAgICB9Cj4+ICAKPj4gLSAgICBibGtkZXYtPnByb3RvY29sID0gQkxLSUZfUFJP VE9DT0xfTkFUSVZFOwo+PiAtICAgIGlmIChibGtkZXYtPnhlbmRldi5wcm90b2NvbCkgewo+PiAt ICAgICAgICBpZiAoc3RyY21wKGJsa2Rldi0+eGVuZGV2LnByb3RvY29sLCBYRU5fSU9fUFJPVE9f QUJJX1g4Nl8zMikgPT0gMCkgewo+PiAtICAgICAgICAgICAgYmxrZGV2LT5wcm90b2NvbCA9IEJM S0lGX1BST1RPQ09MX1g4Nl8zMjsKPj4gLSAgICAgICAgfQo+PiAtICAgICAgICBpZiAoc3RyY21w KGJsa2Rldi0+eGVuZGV2LnByb3RvY29sLCBYRU5fSU9fUFJPVE9fQUJJX1g4Nl82NCkgPT0gMCkg ewo+PiAtICAgICAgICAgICAgYmxrZGV2LT5wcm90b2NvbCA9IEJMS0lGX1BST1RPQ09MX1g4Nl82 NDsKPj4gLSAgICAgICAgfQo+PiArICAgIGlmICghYmxrZGV2LT54ZW5kZXYucHJvdG9jb2wpIHsK Pj4gKyAgICAgICAgYmxrZGV2LT5wcm90b2NvbCA9IEJMS0lGX1BST1RPQ09MX05BVElWRTsKPj4g KyAgICB9IGVsc2UgaWYgKHN0cmNtcChibGtkZXYtPnhlbmRldi5wcm90b2NvbCwgWEVOX0lPX1BS T1RPX0FCSV9OQVRJVkUpID09IDApIHsKPj4gKyAgICAgICAgYmxrZGV2LT5wcm90b2NvbCA9IEJM S0lGX1BST1RPQ09MX05BVElWRTsKPj4gKyAgICB9IGVsc2UgaWYgKHN0cmNtcChibGtkZXYtPnhl bmRldi5wcm90b2NvbCwgWEVOX0lPX1BST1RPX0FCSV9YODZfMzIpID09IDApIHsKPj4gKyAgICAg ICAgYmxrZGV2LT5wcm90b2NvbCA9IEJMS0lGX1BST1RPQ09MX1g4Nl8zMjsKPj4gKyAgICB9IGVs c2UgaWYgKHN0cmNtcChibGtkZXYtPnhlbmRldi5wcm90b2NvbCwgWEVOX0lPX1BST1RPX0FCSV9Y ODZfNjQpID09IDApIHsKPj4gKyAgICAgICAgYmxrZGV2LT5wcm90b2NvbCA9IEJMS0lGX1BST1RP Q09MX1g4Nl82NDsKPiAKPiBUaGVyZSBpcyBvbmUgZGlmZmVyZW5jZSB3aXRoIHRoZSBwcmV2aW91 cyBjb2RlLCBpbiBjYXNlIHRoZSBwcm90b2NvbCBpcwo+IHNwZWNpZmllZCwgYnV0IGl0IG5vdCB4 ODZfMzIgb3IgeDg2XzY0LCB0aGVuIG5vIGJsa2Rldi0+cHJvdG9jb2wgaXMKPiBzZWxlY3RlZCAo dGhlbiBubyByaW5nIGlzIGluaXRpYWxpemVkKS4gQ291bGQgeW91IHJlLWFkZCB0aGlzIGNhc2U/ CgpBYWgsIG9mIGNvdXJzZSEKClRoYW5rcywKCkp1ZXJnZW4KCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==