From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934863AbdAFPH6 (ORCPT ); Fri, 6 Jan 2017 10:07:58 -0500 Received: from mx2.suse.de ([195.135.220.15]:53705 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754414AbdAFPHv (ORCPT ); Fri, 6 Jan 2017 10:07:51 -0500 From: Juergen Gross To: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org Cc: boris.ostrovsky@oracle.com, Juergen Gross , konrad.wilk@oracle.com, roger.pau@citrix.com, wei.liu2@citrix.com, paul.durrant@citrix.com, netdev@vger.kernel.org Subject: [PATCH 0/3] xen: optimize xenbus performance Date: Fri, 6 Jan 2017 16:05:41 +0100 Message-Id: <20170106150544.10836-1-jgross@suse.com> X-Mailer: git-send-email 2.10.2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The xenbus driver used for communication with Xenstore (all kernel accesses to Xenstore and in case of Xenstore living in another domain all accesses of the local domain to Xenstore) is rather simple especially regarding multiple concurrent accesses: they are just being serialized in spite of Xenstore being capable to handle multiple parallel accesses. Clean up the external interface(s) of xenbus and optimize its performance by allowing multiple concurrent accesses to Xenstore. Juergen Gross (3): xen: clean up xenbus internal headers xen: modify xenstore watch event interface xen: optimize xenbus driver for multiple concurrent xenstore accesses drivers/block/xen-blkback/xenbus.c | 6 +- drivers/net/xen-netback/xenbus.c | 8 +- drivers/xen/cpu_hotplug.c | 5 +- drivers/xen/manage.c | 6 +- drivers/xen/xen-balloon.c | 2 +- drivers/xen/xen-pciback/xenbus.c | 2 +- drivers/xen/xenbus/xenbus.h | 134 ++++++++ drivers/xen/xenbus/xenbus_client.c | 6 +- drivers/xen/xenbus/xenbus_comms.c | 319 +++++++++++++++-- drivers/xen/xenbus/xenbus_comms.h | 51 --- drivers/xen/xenbus/xenbus_dev_backend.c | 2 +- drivers/xen/xenbus/xenbus_dev_frontend.c | 213 +++++++----- drivers/xen/xenbus/xenbus_probe.c | 14 +- drivers/xen/xenbus/xenbus_probe.h | 88 ----- drivers/xen/xenbus/xenbus_probe_backend.c | 11 +- drivers/xen/xenbus/xenbus_probe_frontend.c | 17 +- drivers/xen/xenbus/xenbus_xs.c | 535 +++++++++++++---------------- drivers/xen/xenfs/super.c | 2 +- drivers/xen/xenfs/xenstored.c | 2 +- include/xen/xenbus.h | 18 +- 20 files changed, 830 insertions(+), 611 deletions(-) create mode 100644 drivers/xen/xenbus/xenbus.h delete mode 100644 drivers/xen/xenbus/xenbus_comms.h delete mode 100644 drivers/xen/xenbus/xenbus_probe.h Cc: konrad.wilk@oracle.com Cc: roger.pau@citrix.com Cc: wei.liu2@citrix.com Cc: paul.durrant@citrix.com Cc: netdev@vger.kernel.org -- 2.10.2 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH 0/3] xen: optimize xenbus performance Date: Fri, 6 Jan 2017 16:05:41 +0100 Message-ID: <20170106150544.10836-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Juergen Gross , wei.liu2@citrix.com, netdev@vger.kernel.org, paul.durrant@citrix.com, boris.ostrovsky@oracle.com, roger.pau@citrix.com To: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" List-Id: netdev.vger.kernel.org VGhlIHhlbmJ1cyBkcml2ZXIgdXNlZCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIFhlbnN0b3JlIChh bGwga2VybmVsCmFjY2Vzc2VzIHRvIFhlbnN0b3JlIGFuZCBpbiBjYXNlIG9mIFhlbnN0b3JlIGxp dmluZyBpbiBhbm90aGVyIGRvbWFpbgphbGwgYWNjZXNzZXMgb2YgdGhlIGxvY2FsIGRvbWFpbiB0 byBYZW5zdG9yZSkgaXMgcmF0aGVyIHNpbXBsZQplc3BlY2lhbGx5IHJlZ2FyZGluZyBtdWx0aXBs ZSBjb25jdXJyZW50IGFjY2Vzc2VzOiB0aGV5IGFyZSBqdXN0IGJlaW5nCnNlcmlhbGl6ZWQgaW4g c3BpdGUgb2YgWGVuc3RvcmUgYmVpbmcgY2FwYWJsZSB0byBoYW5kbGUgbXVsdGlwbGUKcGFyYWxs ZWwgYWNjZXNzZXMuCgpDbGVhbiB1cCB0aGUgZXh0ZXJuYWwgaW50ZXJmYWNlKHMpIG9mIHhlbmJ1 cyBhbmQgb3B0aW1pemUgaXRzCnBlcmZvcm1hbmNlIGJ5IGFsbG93aW5nIG11bHRpcGxlIGNvbmN1 cnJlbnQgYWNjZXNzZXMgdG8gWGVuc3RvcmUuCgpKdWVyZ2VuIEdyb3NzICgzKToKICB4ZW46IGNs ZWFuIHVwIHhlbmJ1cyBpbnRlcm5hbCBoZWFkZXJzCiAgeGVuOiBtb2RpZnkgeGVuc3RvcmUgd2F0 Y2ggZXZlbnQgaW50ZXJmYWNlCiAgeGVuOiBvcHRpbWl6ZSB4ZW5idXMgZHJpdmVyIGZvciBtdWx0 aXBsZSBjb25jdXJyZW50IHhlbnN0b3JlIGFjY2Vzc2VzCgogZHJpdmVycy9ibG9jay94ZW4tYmxr YmFjay94ZW5idXMuYyAgICAgICAgIHwgICA2ICstCiBkcml2ZXJzL25ldC94ZW4tbmV0YmFjay94 ZW5idXMuYyAgICAgICAgICAgfCAgIDggKy0KIGRyaXZlcnMveGVuL2NwdV9ob3RwbHVnLmMgICAg ICAgICAgICAgICAgICB8ICAgNSArLQogZHJpdmVycy94ZW4vbWFuYWdlLmMgICAgICAgICAgICAg ICAgICAgICAgIHwgICA2ICstCiBkcml2ZXJzL3hlbi94ZW4tYmFsbG9vbi5jICAgICAgICAgICAg ICAgICAgfCAgIDIgKy0KIGRyaXZlcnMveGVuL3hlbi1wY2liYWNrL3hlbmJ1cy5jICAgICAgICAg ICB8ICAgMiArLQogZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1cy5oICAgICAgICAgICAgICAgIHwg MTM0ICsrKysrKysrCiBkcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NsaWVudC5jICAgICAgICAg fCAgIDYgKy0KIGRyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY29tbXMuYyAgICAgICAgICB8IDMx OSArKysrKysrKysrKysrKystLQogZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jb21tcy5oICAg ICAgICAgIHwgIDUxIC0tLQogZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19kZXZfYmFja2VuZC5j ICAgIHwgICAyICstCiBkcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2Rldl9mcm9udGVuZC5jICAg fCAyMTMgKysrKysrKy0tLS0tCiBkcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3Byb2JlLmMgICAg ICAgICAgfCAgMTQgKy0KIGRyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfcHJvYmUuaCAgICAgICAg ICB8ICA4OCAtLS0tLQogZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19wcm9iZV9iYWNrZW5kLmMg IHwgIDExICstCiBkcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3Byb2JlX2Zyb250ZW5kLmMgfCAg MTcgKy0KIGRyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYyAgICAgICAgICAgICB8IDUzNSAr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy94ZW4veGVuZnMvc3VwZXIuYyAg ICAgICAgICAgICAgICAgIHwgICAyICstCiBkcml2ZXJzL3hlbi94ZW5mcy94ZW5zdG9yZWQuYyAg ICAgICAgICAgICAgfCAgIDIgKy0KIGluY2x1ZGUveGVuL3hlbmJ1cy5oICAgICAgICAgICAgICAg ICAgICAgICB8ICAxOCArLQogMjAgZmlsZXMgY2hhbmdlZCwgODMwIGluc2VydGlvbnMoKyksIDYx MSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3hlbi94ZW5idXMveGVu YnVzLmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NvbW1z LmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3Byb2JlLmgK CkNjOiBrb25yYWQud2lsa0BvcmFjbGUuY29tCkNjOiByb2dlci5wYXVAY2l0cml4LmNvbQpDYzog d2VpLmxpdTJAY2l0cml4LmNvbQpDYzogcGF1bC5kdXJyYW50QGNpdHJpeC5jb20KQ2M6IG5ldGRl dkB2Z2VyLmtlcm5lbC5vcmcKCi0tIAoyLjEwLjIKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK