From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v2 2/5] tasklet: Add cross CPU feeding of per-cpu tasklets. Date: Thu, 25 Aug 2016 15:23:58 -0400 Message-ID: <1472153041-14220-3-git-send-email-konrad.wilk@oracle.com> References: <1472153041-14220-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bd0GB-00086K-V4 for xen-devel@lists.xenproject.org; Thu, 25 Aug 2016 19:24:20 +0000 In-Reply-To: <1472153041-14220-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, konrad@kernel.org Cc: "Lan, Tianyu" , Kevin Tian , Jan Beulich , Konrad Rzeszutek Wilk , Andrew Cooper , Jun Nakajima List-Id: xen-devel@lists.xenproject.org U2luY2UgdGhlIHBlci1jcHUgdGFza2xldHMgYXJlIGxvY2tmcmVlIGFuZCBydW4gb25seQp3aXRo aW4gdGhlaXIgb3duIENQVSBjb250ZXh0IC0gd2UgbmVlZCBhIG1lY2hhbmlzbQpmb3IgJ3Rhc2ts ZXRfc2NoZWR1bGVfb25fY3B1JyBmcm9tIG90aGVyIENQVXMgdG8KaW5zZXJ0IHRhc2tsZXRzIGlu IHRoZSBkZXN0aW5hdGlvbiBwZXItY3B1IGxpc3RzLgoKV2UgdXNlIGFuIElQSSBtZWNoYW5pc20g d2hpY2ggZnVuY3Rpb24gaW1wbGVtZW50cyBhbgpwZXItY3B1ICdmZWVkaW5nJyBsaXN0IGFuZCBh IGdsb2JhbCBsb2NrLgoKV2hlbiB0aGUgSVBJIGhhcHBlbnMgb24gdGhlIHRhcmdldCBDUFUgaXQg d2lsbCBkcmFpbgppdHMgcGVyLWNwdSBmZWVkaW5nIGxpc3QgYW5kIGFkZCB0aGVtIGluIHRoZSBw ZXItY3B1CnRhc2tsZXQgdmVjdG9yLiBXaXRoIHRoYXQgaW4gcGxhY2Ugd2UgY2FuIG5vdyBzd2Fw Cm92ZXIgYWxsIG9mIHRoZSBzb2Z0aXJxX3Rhc2tsZXQgdXNlcnMgdG8gdXNlIGl0LgpUaGF0IG1l YW5zIHdlIGNhbiBhbHNvIGVsaW1pbmF0ZSB0aGUgcGVyY3B1X3Rhc2tsZXQKc2NhZmZvbGRpbmcu CgpOb3RlIHRoYXQgd2UgZG9uJ3QgZG8gdGhpcyB0YXNrbGV0IHNjaGVkdWxlIG9uIG90aGVyCkNQ VXMgdGhhdCBvZnRlbiAtIGR1cmluZyBtaWNyb2NvZGUgdXBkYXRlIGFuZCB3aGVuCmRvaW5nIGh5 cGVyY2FsbF9jb250aW51YXRpb24uCgpUaGlzIGNvdWxkIGJlIHNxdWFzaGVkIGluICJ0YXNrbGV0 OiBJbnRyb2R1Y2UgcGVyLWNwdQp0YXNrbGV0IGZvciBzb2Z0aXJxLiIgYnV0IHRoZSBhdXRob3Ig dGhvdWdodCBpdCB3b3VsZApiZSBhbiBlYXNpZXIgYWlkIGluIHVuZGVyc3RhbmRpbmcgdGhlIGNv ZGUgd2l0aCB0aGVzZQpwYXJ0cyBzcGxpdCBvdXQuCgpTaWduZWQtb2ZmLWJ5OiBLb25yYWQgUnpl c3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Ci0tLQpSRkM6IEZpcnN0IHZlcnNp b24KdjE6IFBvc3RlZCwgZm9sa3MgYXNrZWQgaWYgdGlja2V0bG9ja3MgZml4ZWQgaXQuCnYyOiBJ bnRlbCBjb25maXJtZWQgYXQgWFBEUyAyMDE2IHRoYXQgdGhlIHByb2JsZW0gaXMgc3RpbGwgcHJl c2VudAogICAgd2l0aCBsYXJnZSBndWVzdHMuCgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1 c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6 ICJMYW4sIFRpYW55dSIgPHRpYW55dS5sYW5AaW50ZWwuY29tPgpDYzogIEtldmluIFRpYW4gPGtl dmluLnRpYW5AaW50ZWwuY29tPgpDYzogSnVuIE5ha2FqaW1hIDxqdW4ubmFrYWppbWFAaW50ZWwu Y29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgfCAgMiArLQogeGVuL2NvbW1vbi90 YXNrbGV0LmMgICAgICB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tCiB4ZW4vaW5jbHVkZS94ZW4vdGFza2xldC5oIHwgIDIgLS0KIDMgZmlsZXMgY2hh bmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggZDkzM2Rk ZC4uMDE4MGYyNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4v YXJjaC94ODYvaHZtL2h2bS5jCkBAIC0xNTExLDcgKzE1MTEsNyBAQCBpbnQgaHZtX3ZjcHVfaW5p dGlhbGlzZShzdHJ1Y3QgdmNwdSAqdikKICAgICBpZiAoIChyYyA9IGh2bV9mdW5jcy52Y3B1X2lu aXRpYWxpc2UodikpICE9IDAgKSAvKiB0ZWFyZG93bjogaHZtX2Z1bmNzLnZjcHVfZGVzdHJveSAq LwogICAgICAgICBnb3RvIGZhaWwzOwogCi0gICAgcGVyY3B1X3Rhc2tsZXRfaW5pdCgKKyAgICBz b2Z0aXJxX3Rhc2tsZXRfaW5pdCgKICAgICAgICAgJnYtPmFyY2guaHZtX3ZjcHUuYXNzZXJ0X2V2 dGNobl9pcnFfdGFza2xldCwKICAgICAgICAgKHZvaWQoKikodW5zaWduZWQgbG9uZykpaHZtX2Fz c2VydF9ldnRjaG5faXJxLAogICAgICAgICAodW5zaWduZWQgbG9uZyl2KTsKZGlmZiAtLWdpdCBh L3hlbi9jb21tb24vdGFza2xldC5jIGIveGVuL2NvbW1vbi90YXNrbGV0LmMKaW5kZXggMzE5ODY2 Zi4uZDhmM2NiMyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi90YXNrbGV0LmMKKysrIGIveGVuL2Nv bW1vbi90YXNrbGV0LmMKQEAgLTMwLDggKzMwLDM2IEBAIHN0YXRpYyBERUZJTkVfUEVSX0NQVShz dHJ1Y3QgbGlzdF9oZWFkLCBzb2Z0aXJxX3Rhc2tsZXRfbGlzdCk7CiAKIC8qIFByb3RlY3RzIGFs bCBsaXN0cyBhbmQgdGFza2xldCBzdHJ1Y3R1cmVzLiAqLwogc3RhdGljIERFRklORV9TUElOTE9D Syh0YXNrbGV0X2xvY2spOworc3RhdGljIERFRklORV9TUElOTE9DSyhmZWVkZXJfbG9jayk7CiAK IHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgbGlzdF9oZWFkLCBzb2Z0aXJxX2xpc3QpOwor c3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBsaXN0X2hlYWQsIHRhc2tsZXRfZmVlZGVyKTsK Kworc3RhdGljIHZvaWQgcGVyY3B1X3Rhc2tsZXRfZmVlZCh2b2lkICphcmcpCit7CisgICAgdW5z aWduZWQgbG9uZyBmbGFnczsKKyAgICBzdHJ1Y3QgdGFza2xldCAqdDsKKyAgICBzdHJ1Y3QgbGlz dF9oZWFkICpkc3RfbGlzdDsKKyAgICBzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0ID0gJl9fZ2V0X2Nw dV92YXIodGFza2xldF9mZWVkZXIpOworCisgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmZlZWRlcl9s b2NrLCBmbGFncyk7CisKKyAgICBpZiAoIGxpc3RfZW1wdHkobGlzdCkgKQorICAgICAgICBnb3Rv IG91dDsKKworICAgIHdoaWxlICggIWxpc3RfZW1wdHkobGlzdCkgKQorICAgIHsKKyAgICAgICAg dCA9IGxpc3RfZW50cnkobGlzdC0+bmV4dCwgc3RydWN0IHRhc2tsZXQsIGxpc3QpOworICAgICAg ICBCVUdfT04oIXQtPmlzX3BlcmNwdSk7CisgICAgICAgIGxpc3RfZGVsKCZ0LT5saXN0KTsKKwor ICAgICAgICBkc3RfbGlzdCA9ICZfX2dldF9jcHVfdmFyKHNvZnRpcnFfbGlzdCk7CisgICAgICAg IGxpc3RfYWRkX3RhaWwoJnQtPmxpc3QsIGRzdF9saXN0KTsKKyAgICB9CisgICAgcmFpc2Vfc29m dGlycShUQVNLTEVUX1NPRlRJUlFfUEVSQ1BVKTsKK291dDoKKyAgICBzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZmZWVkZXJfbG9jaywgZmxhZ3MpOworfQogCiBzdGF0aWMgdm9pZCB0YXNrbGV0X2Vu cXVldWUoc3RydWN0IHRhc2tsZXQgKnQpCiB7CkBAIC00NCw3ICs3MiwxOCBAQCBzdGF0aWMgdm9p ZCB0YXNrbGV0X2VucXVldWUoc3RydWN0IHRhc2tsZXQgKnQpCiAKICAgICAgICAgSU5JVF9MSVNU X0hFQUQoJnQtPmxpc3QpOwogICAgICAgICBCVUdfT04oICF0LT5pc19zb2Z0aXJxICk7Ci0gICAg ICAgIEJVR19PTiggY3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSApOyAvKiBOb3QgaW1wbGVtZW50 ZWQgeWV0LiAqLworCisgICAgICAgIGlmICggY3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSApCisg ICAgICAgIHsKKyAgICAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZmZWVkZXJfbG9jaywgZmxh Z3MpOworCisgICAgICAgICAgICBsaXN0ID0gJnBlcl9jcHUodGFza2xldF9mZWVkZXIsIGNwdSk7 CisgICAgICAgICAgICBsaXN0X2FkZF90YWlsKCZ0LT5saXN0LCBsaXN0KTsKKworICAgICAgICAg ICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZmVlZGVyX2xvY2ssIGZsYWdzKTsKKyAgICAgICAg ICAgIG9uX3NlbGVjdGVkX2NwdXMoY3B1bWFza19vZihjcHUpLCBwZXJjcHVfdGFza2xldF9mZWVk LCBOVUxMLCAxKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCiAgICAgICAgIGxv Y2FsX2lycV9zYXZlKGZsYWdzKTsKIApAQCAtMzE0LDEzICszNTMsNiBAQCB2b2lkIHNvZnRpcnFf dGFza2xldF9pbml0KAogewogICAgIHRhc2tsZXRfaW5pdCh0LCBmdW5jLCBkYXRhKTsKICAgICB0 LT5pc19zb2Z0aXJxID0gMTsKLX0KLQotdm9pZCBwZXJjcHVfdGFza2xldF9pbml0KAotICAgIHN0 cnVjdCB0YXNrbGV0ICp0LCB2b2lkICgqZnVuYykodW5zaWduZWQgbG9uZyksIHVuc2lnbmVkIGxv bmcgZGF0YSkKLXsKLSAgICB0YXNrbGV0X2luaXQodCwgZnVuYywgZGF0YSk7Ci0gICAgdC0+aXNf c29mdGlycSA9IDE7CiAgICAgdC0+aXNfcGVyY3B1ID0gMTsKIH0KIApAQCAtMzM1LDEyICszNjcs MTQgQEAgc3RhdGljIGludCBjcHVfY2FsbGJhY2soCiAgICAgICAgIElOSVRfTElTVF9IRUFEKCZw ZXJfY3B1KHRhc2tsZXRfbGlzdCwgY3B1KSk7CiAgICAgICAgIElOSVRfTElTVF9IRUFEKCZwZXJf Y3B1KHNvZnRpcnFfdGFza2xldF9saXN0LCBjcHUpKTsKICAgICAgICAgSU5JVF9MSVNUX0hFQUQo JnBlcl9jcHUoc29mdGlycV9saXN0LCBjcHUpKTsKKyAgICAgICAgSU5JVF9MSVNUX0hFQUQoJnBl cl9jcHUodGFza2xldF9mZWVkZXIsIGNwdSkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENQ VV9VUF9DQU5DRUxFRDoKICAgICBjYXNlIENQVV9ERUFEOgogICAgICAgICBtaWdyYXRlX3Rhc2ts ZXRzX2Zyb21fY3B1KGNwdSwgJnBlcl9jcHUodGFza2xldF9saXN0LCBjcHUpKTsKICAgICAgICAg bWlncmF0ZV90YXNrbGV0c19mcm9tX2NwdShjcHUsICZwZXJfY3B1KHNvZnRpcnFfdGFza2xldF9s aXN0LCBjcHUpKTsKICAgICAgICAgbWlncmF0ZV90YXNrbGV0c19mcm9tX2NwdShjcHUsICZwZXJf Y3B1KHNvZnRpcnFfbGlzdCwgY3B1KSk7CisgICAgICAgIG1pZ3JhdGVfdGFza2xldHNfZnJvbV9j cHUoY3B1LCAmcGVyX2NwdSh0YXNrbGV0X2ZlZWRlciwgY3B1KSk7CiAgICAgICAgIGJyZWFrOwog ICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVu L3Rhc2tsZXQuaCBiL3hlbi9pbmNsdWRlL3hlbi90YXNrbGV0LmgKaW5kZXggOTQ5N2M0Ny4uNTMw YTVlNyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3Rhc2tsZXQuaAorKysgYi94ZW4vaW5j bHVkZS94ZW4vdGFza2xldC5oCkBAIC05OSw4ICs5OSw2IEBAIHZvaWQgdGFza2xldF9pbml0KAog ICAgIHN0cnVjdCB0YXNrbGV0ICp0LCB2b2lkICgqZnVuYykodW5zaWduZWQgbG9uZyksIHVuc2ln bmVkIGxvbmcgZGF0YSk7CiB2b2lkIHNvZnRpcnFfdGFza2xldF9pbml0KAogICAgIHN0cnVjdCB0 YXNrbGV0ICp0LCB2b2lkICgqZnVuYykodW5zaWduZWQgbG9uZyksIHVuc2lnbmVkIGxvbmcgZGF0 YSk7Ci12b2lkIHBlcmNwdV90YXNrbGV0X2luaXQoCi0gICAgc3RydWN0IHRhc2tsZXQgKnQsIHZv aWQgKCpmdW5jKSh1bnNpZ25lZCBsb25nKSwgdW5zaWduZWQgbG9uZyBkYXRhKTsKIHZvaWQgdGFz a2xldF9zdWJzeXNfaW5pdCh2b2lkKTsKIAogI2VuZGlmIC8qIF9fWEVOX1RBU0tMRVRfSF9fICov Ci0tIAoyLjQuMTEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK