From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH 5/5] xen: RCU: avoid busy waiting until the end of grace period. Date: Thu, 27 Jul 2017 10:01:38 +0200 Message-ID: <150114249858.22910.4601418126082976816.stgit@Solace> References: <150114201043.22910.12807057883146318803.stgit@Solace> 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 1dadjq-0000LI-Sm for xen-devel@lists.xenproject.org; Thu, 27 Jul 2017 08:01:42 +0000 Received: by mail-wr0-f194.google.com with SMTP id o33so16264652wrb.1 for ; Thu, 27 Jul 2017 01:01:41 -0700 (PDT) In-Reply-To: <150114201043.22910.12807057883146318803.stgit@Solace> 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 Cc: Andrew Cooper , Julien Grall , Stefano Stabellini , Jan Beulich List-Id: xen-devel@lists.xenproject.org SW5zdGVhZCBvZiBoYXZpbmcgdGhlIENQVSB3aGVyZSBhIGNhbGxiYWNrIGlzIHF1ZXVlZCwgYnVz eQpsb29waW5nIG9uIHJjdV9wZW5kaW5nKCksIHVzZSBhIHRpbWVyLgoKSW4gZmFjdCwgd2UgbGV0 IHRoZSBDUFUgZ28gaWRsYSxlIGJ1dCB3ZSBwcm9ncmFtIGEgdGltZXIKdGhhdCB3aWxsIHBlcmlv ZGljYWxseSB3YWtlIGl0IHVwLCBmb3IgY2hlY2tpbmcgd2hldGhlciB0aGUKZ3JhY2UgcGVyaW9k IGhhcyBhY3R1YWxseSBlbmRlZC4KCkl0IGlzIGtpbmQgb2Ygc2ltaWxhciB0byBpbnRyb2R1Y2lu ZyBhIHBlcmlvZGljIHRpY2ssIGJ1dAp3aXRoIGEgbXVjaCBtb3JlIGxpbWl0ZWQgc2NvcGUsIGFu ZCBhIGxvdCBsZXNzIG92ZXJoZWFkLiBJbgpmYWN0LCB0aGlzIHRpbWVyIGlzOgotIG9ubHkgYWN0 aXZlIGZvciB0aGUgQ1BVKHMpIHRoYXQgaGF2ZSBjYWxsYmFja3MgcXVldWVkLAogIHdhaXRpbmcg Zm9yIHRoZSBlbmQgb2YgYSBncmFjZSBwZXJpb2Q7Ci0gb25seSBhY3RpdmUgd2hlbiB0aG9zZSBD UFUocykgYXJlIGlkbGUgKGFuZCBzdG9wcGVkIGFzCiAgc29vbiBhcyB0aGV5IHJlc3VtZSBleGVj dXRpb24pLgoKU2lnbmVkLW9mZi1ieTogRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNp dHJpeC5jb20+Ci0tLQpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu b3JnPgpDYzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KQ2M6IEphbiBCZXVs aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz QGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL2RvbWFpbi5jICAgICAgICAgfCAgICA0ICsr LQogeGVuL2FyY2gveDg2L2FjcGkvY3B1X2lkbGUuYyAgfCAgICA2ICsrKy0tCiB4ZW4vYXJjaC94 ODYvY3B1L213YWl0LWlkbGUuYyB8ICAgIDYgKysrLS0KIHhlbi9jb21tb24vcmN1cGRhdGUuYyAg ICAgICAgIHwgICA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQog eGVuL2luY2x1ZGUveGVuL3JjdXBkYXRlLmggICAgfCAgICAzICsrCiA1IGZpbGVzIGNoYW5nZWQs IDY1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv YXJtL2RvbWFpbi5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbi5jCmluZGV4IDY2NmI3ZWYuLjAxZGE5 NmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21haW4uYworKysgYi94ZW4vYXJjaC9hcm0v ZG9tYWluLmMKQEAgLTQzLDggKzQzLDkgQEAgc3RhdGljIHZvaWQgZG9faWRsZSh2b2lkKQogewog ICAgIHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAKKyAgICByY3VfaWRs ZV90aW1lcl9zdGFydCgpOwogICAgIHNjaGVkX3RpY2tfc3VzcGVuZCgpOwotICAgIC8qIHNjaGVk X3RpY2tfc3VzcGVuZCgpIGNhbiByYWlzZSBUSU1FUl9TT0ZUSVJRLiBQcm9jZXNzIGl0IG5vdy4g Ki8KKyAgICAvKiBUaW1lciByZWxhdGVkIG9wZXJhdGlvbnMgY2FuIHJhaXNlIFRJTUVSX1NPRlRJ UlEuIFByb2Nlc3MgaXQgbm93LiAqLwogICAgIHByb2Nlc3NfcGVuZGluZ19zb2Z0aXJxcygpOwog CiAgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKQEAgLTU4LDYgKzU5LDcgQEAgc3RhdGljIHZvaWQg ZG9faWRsZSh2b2lkKQogICAgIGxvY2FsX2lycV9lbmFibGUoKTsKIAogICAgIHNjaGVkX3RpY2tf cmVzdW1lKCk7CisgICAgcmN1X2lkbGVfdGltZXJfc3RvcCgpOwogfQogCiB2b2lkIGlkbGVfbG9v cCh2b2lkKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2FjcGkvY3B1X2lkbGUuYyBiL3hlbi9h cmNoL3g4Ni9hY3BpL2NwdV9pZGxlLmMKaW5kZXggMDRjNTJlOC4uYjk3OTg2ZiAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L2FjcGkvY3B1X2lkbGUuYworKysgYi94ZW4vYXJjaC94ODYvYWNwaS9j cHVfaWRsZS5jCkBAIC01NzYsMTAgKzU3NiwxMCBAQCBzdGF0aWMgdm9pZCBhY3BpX3Byb2Nlc3Nv cl9pZGxlKHZvaWQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICByY3VfaWRsZV90aW1l cl9zdGFydCgpOwogICAgIGNwdWZyZXFfZGJzX3RpbWVyX3N1c3BlbmQoKTsKLQogICAgIHNjaGVk X3RpY2tfc3VzcGVuZCgpOwotICAgIC8qIHNjaGVkX3RpY2tfc3VzcGVuZCgpIGNhbiByYWlzZSBU SU1FUl9TT0ZUSVJRLiBQcm9jZXNzIGl0IG5vdy4gKi8KKyAgICAvKiBUaW1lciByZWxhdGVkIG9w ZXJhdGlvbnMgY2FuIHJhaXNlIFRJTUVSX1NPRlRJUlEuIFByb2Nlc3MgaXQgbm93LiAqLwogICAg IHByb2Nlc3NfcGVuZGluZ19zb2Z0aXJxcygpOwogCiAgICAgLyoKQEAgLTU5Myw2ICs1OTMsNyBA QCBzdGF0aWMgdm9pZCBhY3BpX3Byb2Nlc3Nvcl9pZGxlKHZvaWQpCiAgICAgICAgIGxvY2FsX2ly cV9lbmFibGUoKTsKICAgICAgICAgc2NoZWRfdGlja19yZXN1bWUoKTsKICAgICAgICAgY3B1ZnJl cV9kYnNfdGltZXJfcmVzdW1lKCk7CisgICAgICAgIHJjdV9pZGxlX3RpbWVyX3N0b3AoKTsKICAg ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNzI2LDYgKzcyNyw3IEBAIHN0YXRpYyB2b2lkIGFj cGlfcHJvY2Vzc29yX2lkbGUodm9pZCkKIAogICAgIHNjaGVkX3RpY2tfcmVzdW1lKCk7CiAgICAg Y3B1ZnJlcV9kYnNfdGltZXJfcmVzdW1lKCk7CisgICAgcmN1X2lkbGVfdGltZXJfc3RvcCgpOwog CiAgICAgaWYgKCBjcHVpZGxlX2N1cnJlbnRfZ292ZXJub3ItPnJlZmxlY3QgKQogICAgICAgICBj cHVpZGxlX2N1cnJlbnRfZ292ZXJub3ItPnJlZmxlY3QocG93ZXIpOwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2NwdS9td2FpdC1pZGxlLmMgYi94ZW4vYXJjaC94ODYvY3B1L213YWl0LWlkbGUu YwppbmRleCBhZTllOTJiLi5jNDI2ZTQxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L213 YWl0LWlkbGUuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L213YWl0LWlkbGUuYwpAQCAtNzQzLDEw ICs3NDMsMTAgQEAgc3RhdGljIHZvaWQgbXdhaXRfaWRsZSh2b2lkKQogCQlyZXR1cm47CiAJfQog CisJcmN1X2lkbGVfdGltZXJfc3RhcnQoKTsKIAljcHVmcmVxX2Ric190aW1lcl9zdXNwZW5kKCk7 Ci0KIAlzY2hlZF90aWNrX3N1c3BlbmQoKTsKLQkvKiBzY2hlZF90aWNrX3N1c3BlbmQoKSBjYW4g cmFpc2UgVElNRVJfU09GVElSUS4gUHJvY2VzcyBpdCBub3cuICovCisJLyogVGltZXIgcmVsYXRl ZCBvcGVyYXRpb25zIGNhbiByYWlzZSBUSU1FUl9TT0ZUSVJRLiBQcm9jZXNzIGl0IG5vdy4gKi8K IAlwcm9jZXNzX3BlbmRpbmdfc29mdGlycXMoKTsKIAogCS8qIEludGVycnVwdHMgbXVzdCBiZSBk aXNhYmxlZCBmb3IgQzIgYW5kIGhpZ2hlciB0cmFuc2l0aW9ucy4gKi8KQEAgLTc1Niw2ICs3NTYs NyBAQCBzdGF0aWMgdm9pZCBtd2FpdF9pZGxlKHZvaWQpCiAJCWxvY2FsX2lycV9lbmFibGUoKTsK IAkJc2NoZWRfdGlja19yZXN1bWUoKTsKIAkJY3B1ZnJlcV9kYnNfdGltZXJfcmVzdW1lKCk7Cisg ICAgICAgICAgICAgICAgcmN1X2lkbGVfdGltZXJfc3RvcCgpOwogCQlyZXR1cm47CiAJfQogCkBA IC04MDIsNiArODAzLDcgQEAgc3RhdGljIHZvaWQgbXdhaXRfaWRsZSh2b2lkKQogCiAJc2NoZWRf dGlja19yZXN1bWUoKTsKIAljcHVmcmVxX2Ric190aW1lcl9yZXN1bWUoKTsKKwlyY3VfaWRsZV90 aW1lcl9zdG9wKCk7CiAKIAlpZiAoIGNwdWlkbGVfY3VycmVudF9nb3Zlcm5vci0+cmVmbGVjdCAp CiAJCWNwdWlkbGVfY3VycmVudF9nb3Zlcm5vci0+cmVmbGVjdChwb3dlcik7CmRpZmYgLS1naXQg YS94ZW4vY29tbW9uL3JjdXBkYXRlLmMgYi94ZW4vY29tbW9uL3JjdXBkYXRlLmMKaW5kZXggZjBm ZGM4Ny4uNDU4NmYyYSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9yY3VwZGF0ZS5jCisrKyBiL3hl bi9jb21tb24vcmN1cGRhdGUuYwpAQCAtODQsOCArODQsMTQgQEAgc3RydWN0IHJjdV9kYXRhIHsK ICAgICBpbnQgY3B1OwogICAgIHN0cnVjdCByY3VfaGVhZCBiYXJyaWVyOwogICAgIGxvbmcgICAg ICAgICAgICBsYXN0X3JzX3FsZW47ICAgICAvKiBxbGVuIGR1cmluZyB0aGUgbGFzdCByZXNjaGVk ICovCisKKyAgICAvKiAzKSBpZGxlIENQVXMgaGFuZGxpbmcgKi8KKyAgICBzdHJ1Y3QgdGltZXIg aWRsZV90aW1lcjsKKyAgICBib29sIGlkbGVfdGltZXJfYWN0aXZlOwogfTsKIAorI2RlZmluZSBS Q1VfSURMRV9USU1FUl9QRVJJT0QgTUlMTElTRUNTKDEwKQorCiBzdGF0aWMgREVGSU5FX1BFUl9D UFUoc3RydWN0IHJjdV9kYXRhLCByY3VfZGF0YSk7CiAKIHN0YXRpYyBpbnQgYmxpbWl0ID0gMTA7 CkBAIC00MDIsNyArNDA4LDQ4IEBAIGludCByY3VfbmVlZHNfY3B1KGludCBjcHUpCiB7CiAgICAg c3RydWN0IHJjdV9kYXRhICpyZHAgPSAmcGVyX2NwdShyY3VfZGF0YSwgY3B1KTsKIAotICAgIHJl dHVybiAoISFyZHAtPmN1cmxpc3QgfHwgcmN1X3BlbmRpbmcoY3B1KSk7CisgICAgcmV0dXJuICgh IXJkcC0+Y3VybGlzdCB8fCByY3VfcGVuZGluZyhjcHUpKSAmJiAhcmRwLT5pZGxlX3RpbWVyX2Fj dGl2ZTsKK30KKworLyoKKyAqIFRpbWVyIGZvciBtYWtpbmcgc3VyZSB0aGUgQ1BVIHdoZXJlIGEg Y2FsbGJhY2sgaXMgcXVldWVkIGRvZXMKKyAqIHBlcmlvZGljYWxseSBwb2tlIHJjdV9wZWRuaW5n KCksIHNvIHRoYXQgaXQgd2lsbCBpbnZva2UgdGhlIGNhbGxiYWNrCisgKiBub3QgdG9vIGxhdGUg YWZ0ZXIgdGhlIGVuZCBvZiB0aGUgZ3JhY2UgcGVyaW9kLgorICovCit2b2lkIHJjdV9pZGxlX3Rp bWVyX3N0YXJ0KCkKK3sKKyAgICBzdHJ1Y3QgcmN1X2RhdGEgKnJkcCA9ICZ0aGlzX2NwdShyY3Vf ZGF0YSk7CisKKyAgICBpZiAobGlrZWx5KCFyZHAtPmN1cmxpc3QpKQorICAgICAgICByZXR1cm47 CisKKyAgICBzZXRfdGltZXIoJnJkcC0+aWRsZV90aW1lciwgTk9XKCkgKyBSQ1VfSURMRV9USU1F Ul9QRVJJT0QpOworICAgIHJkcC0+aWRsZV90aW1lcl9hY3RpdmUgPSB0cnVlOworfQorCit2b2lk IHJjdV9pZGxlX3RpbWVyX3N0b3AoKQoreworICAgIHN0cnVjdCByY3VfZGF0YSAqcmRwID0gJnRo aXNfY3B1KHJjdV9kYXRhKTsKKworICAgIGlmIChsaWtlbHkoIXJkcC0+aWRsZV90aW1lcl9hY3Rp dmUpKQorICAgICAgICByZXR1cm47CisKKyAgICByZHAtPmlkbGVfdGltZXJfYWN0aXZlID0gZmFs c2U7CisgICAgc3RvcF90aW1lcigmcmRwLT5pZGxlX3RpbWVyKTsKK30KKworc3RhdGljIHZvaWQg cmN1X2lkbGVfdGltZXJfaGFuZGxlcih2b2lkKiBkYXRhKQoreworICAgIC8qCisgICAgICogTm90 aGluZywgcmVhbGx5Li4uIEFuZCBpbiBmYWN0LCB3ZSBkb24ndCBleHBlY3QgdG8gZXZlciBnZXQg aW4gaGVyZSwKKyAgICAgKiBhcyByY3VfaWRsZV90aW1lcl9zdG9wKCksIGNhbGxlZCB3aGlsZSB3 YWtpbmcgZnJvbSBpZGxlLCBwcmV2ZW50IHRoYXQKKyAgICAgKiB0byBoYXBwZW4gYnkgc3RvcHBp bmcgdGhlIHRpbWVyIGJlZm9yZSB0aGUgVElNRVJfU09GVElSUSBoYW5kbGVyIGhhcworICAgICAq IGEgY2hhbmNlIHRvIHJ1bi4KKyAgICAgKgorICAgICAqIEJ1dCB0aGF0J3MgZmluZSwgYmVjYXVz ZSBhbGwgd2Ugd2FudCBpcyB0aGUgQ1BVIHRoYXQgbmVlZHMgdG8gZXhlY3V0ZQorICAgICAqIHRo ZSBjYWxsYmFjayB0byBiZSBwZXJpb2RpY2FsbHkgd29rZW4gdXAgYW5kIGNoZWNrIHJjdV9wZW5k aW5nKCkuCisgICAgICovCisgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CiB9CiAKIHZvaWQgcmN1 X2NoZWNrX2NhbGxiYWNrcyhpbnQgY3B1KQpAQCAtNDIzLDYgKzQ3MCw4IEBAIHN0YXRpYyB2b2lk IHJjdV9tb3ZlX2JhdGNoKHN0cnVjdCByY3VfZGF0YSAqdGhpc19yZHAsIHN0cnVjdCByY3VfaGVh ZCAqbGlzdCwKIHN0YXRpYyB2b2lkIHJjdV9vZmZsaW5lX2NwdShzdHJ1Y3QgcmN1X2RhdGEgKnRo aXNfcmRwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCByY3VfY3RybGJsayAq cmNwLCBzdHJ1Y3QgcmN1X2RhdGEgKnJkcCkKIHsKKyAgICBraWxsX3RpbWVyKCZyZHAtPmlkbGVf dGltZXIpOworCiAgICAgLyogSWYgdGhlIGNwdSBnb2luZyBvZmZsaW5lIG93bnMgdGhlIGdyYWNl IHBlcmlvZCB3ZSBjYW4gYmxvY2sKICAgICAgKiBpbmRlZmluaXRlbHkgd2FpdGluZyBmb3IgaXQs IHNvIGZsdXNoIGl0IGhlcmUuCiAgICAgICovCkBAIC00NTEsNiArNTAwLDcgQEAgc3RhdGljIHZv aWQgcmN1X2luaXRfcGVyY3B1X2RhdGEoaW50IGNwdSwgc3RydWN0IHJjdV9jdHJsYmxrICpyY3As CiAgICAgcmRwLT5xc19wZW5kaW5nID0gMDsKICAgICByZHAtPmNwdSA9IGNwdTsKICAgICByZHAt PmJsaW1pdCA9IGJsaW1pdDsKKyAgICBpbml0X3RpbWVyKCZyZHAtPmlkbGVfdGltZXIsIHJjdV9p ZGxlX3RpbWVyX2hhbmRsZXIsICh2b2lkKikgcmRwLCBjcHUpOwogfQogCiBzdGF0aWMgaW50IGNw dV9jYWxsYmFjaygKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9yY3VwZGF0ZS5oIGIveGVu L2luY2x1ZGUveGVuL3JjdXBkYXRlLmgKaW5kZXggNTYxYWM0My4uMzQwMmViNSAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUveGVuL3JjdXBkYXRlLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3JjdXBk YXRlLmgKQEAgLTE0OSw0ICsxNDksNyBAQCBpbnQgcmN1X2JhcnJpZXIodm9pZCk7CiB2b2lkIHJj dV9pZGxlX2VudGVyKHVuc2lnbmVkIGludCBjcHUpOwogdm9pZCByY3VfaWRsZV9leGl0KHVuc2ln bmVkIGludCBjcHUpOwogCit2b2lkIHJjdV9pZGxlX3RpbWVyX3N0YXJ0KHZvaWQpOwordm9pZCBy Y3VfaWRsZV90aW1lcl9zdG9wKHZvaWQpOworCiAjZW5kaWYgLyogX19YRU5fUkNVUERBVEVfSCAq LwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=