From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH v3 3/6] xen: RCU/x86/ARM: discount CPUs that were idle when grace period started. Date: Fri, 18 Aug 2017 20:04:22 +0200 Message-ID: <150307946273.29525.14036690240810795204.stgit@Solace.fritz.box> References: <150307710991.29525.3681195976643263117.stgit@Solace.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dildD-0002F5-8N for xen-devel@lists.xenproject.org; Fri, 18 Aug 2017 18:04:27 +0000 Received: by mail-wm0-f68.google.com with SMTP id q189so5015907wmd.0 for ; Fri, 18 Aug 2017 11:04:25 -0700 (PDT) In-Reply-To: <150307710991.29525.3681195976643263117.stgit@Solace.fritz.box> 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: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org WGVuIGlzIGEgdGlja2xlc3MgKG1pY3JvLSlrZXJuZWwsIGkuZS4sIHdoZW4gYSBDUFUgYmVjb21l cwppZGxlIHRoZXJlIGlzIG5vIHRpbWVyIHRpY2sgdGhhdCB3aWxsIHBlcmlvZGljYWxseSB3YWtl IHRoZQpDUFUgdXAuCk9UT0gsIHdoZW4gd2UgaW1wb3J0ZWQgUkNVIGZyb20gTGludXgsIExpbnV4 IHdhcyAob24geDg2KSBhCnRpY2tpbmcga2VybmVsLCBpLmUuLCB0aGVyZSB3YXMgYSBwZXJpb2Rp YyB0aW1lciB0aWNrIGFsd2F5cwpydW5uaW5nLCBldmVuIG9uIGlkbGUgQ1BVcy4gVGhpcyB3YXMg YmFkIGZvciBwb3dlciBjb25zdW1wdGlvbiwKYnV0LCBmb3IgaW5zdGFuY2UsIG1hZGUgaXQgZWFz eSB0byBtb25pdG9yIHRoZSBxdWllc2NlbnQgc3RhdGVzCm9mIGFsbCB0aGUgQ1BVcywgYW5kIGhl bmNlIHRlbGwgd2hlbiBSQ1UgZ3JhY2UgcGVyaW9kcyBlbmRlZC4KCkluIFhlbiwgdGhhdCBpcyBp bXBvc3NpYmxlLCBhbmQgdGhhdCdzIHBhcnRpY3VsYXJseSBwcm9ibGVtYXRpYwp3aGVuIHRoZSBz eXN0ZW0gaXMgdmVyeSBsaWdodGx5IGxvYWRlZCwgYXMgc29tZSBDUFVzIG1heSBuZXZlcgpoYXZl IHRoZSBjaGFuY2UgdG8gdGVsbCB0aGUgUkNVIGNvcmUgbG9naWMgYWJvdXQgdGhlaXIgcXVpZXNj ZW5jZSwKYW5kIGdyYWNlIHBlcmlvZHMgY291bGQgZXh0ZW5kIGluZGVmaW5pdGVseSEKClRoaXMg aGFzIGxlZCwgb24geDg2LCB0byBsb25nIChhbmQgdW5wcmVkaWN0YWJsZSkgZGVsYXlzIGJldHdl ZW4KUkNVIGNhbGxiYWNrcyBxdWV1ZWluZyBhbmQgdGhlaXIgYWN0dWFsIGludm9rYXRpb24uIE9u IEFSTSwgd2UndmUKZXZlbiBzZWVuIGluZmluaXRlIGdyYWNlIHBlcmlvZHMgKGUuZy4sIGNvbXBs YXRlX2RvbWFpbl9kZXN0cm95KCkKbmV2ZXIgYmVpbmcgYWN0dWFsbHkgaW52b2tlZCEpLiBTZWUg aGVyZToKCiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRl dmVsLzIwMTctMDEvbXNnMDI0NTQuaHRtbAoKVGhlIGZpcnN0IHN0ZXAgZm9yIGZpeGluZyB0aGlz IHNpdHVhdGlvbiBpcyBmb3IgUkNVIHRvIHJlY29yZCwKYXQgdGhlIGJlZ2lubmluZyBvZiBhIGdy YWNlIHBlcmlvZCwgd2hpY2ggQ1BVcyBhcmUgYWxyZWFkeSBpZGxlLgpJbiBmYWN0LCBiZWluZyBp ZGxlLCB0aGV5IGNhbid0IGJlIGluIHRoZSBtaWRkbGUgb2YgYW55IHJlYWQtc2lkZQpjcml0aWNh bCBzZWN0aW9uLCBhbmQgd2UgZG9uJ3QgaGF2ZSB0byB3YWl0IGZvciB0aGVpciBxdWllc2NlbmNl LgoKVGhpcyBpcyB0cmFja2VkIGluIGEgY3B1bWFzaywgaW4gYSBzaW1pbGFyIHdheSB0byBob3cg aXQgd2FzIGFsc28KZG9uZSBpbiBMaW51eCAob24gczM5MCwgd2hpY2ggd2FzIHRpY2tsZXNzIGFs cmVhZHkpLiBJdCBpcyBhbHNvCmJhc2ljYWxseSB0aGUgc2FtZSBhcHByb2FjaCB1c2VkIGZvciBt YWtpbmcgTGludXggeDg2IHRpY2tsZXNzLAppbiAyLjYuMjEgb24gKHNlZSBjb21taXQgNzliZjJi YjMgInRpY2stbWFuYWdlbWVudDogZHludGljayAvCmhpZ2hyZXMgZnVuY3Rpb25hbGl0eSIpLgoK Rm9yIGNvcnJlY3RuZXNzLCB3ZWUgYWxzbyBhZGQgYmFycmllcnMuIE9uZSBpcyBhbHNvIHByZXNl bnQgaW4KTGludXgsIChzZWUgY29tbWl0IGMzZjU5MDIzLCAiRml4IFJDVSByYWNlIGluIGFjY2Vz cyBvZiBub2h6X2NwdV9tYXNrIiwKYWx0aG91Z2gsIHdlIGNoYW5nZSB0aGUgY29kZSBjb21tZW50 IHRvIHNvbWV0aGluZyB0aGF0IG1ha2VzIGJldHRlcgpzZW5zZSBmb3IgdXMpLiBUaGUgb3RoZXIg KHdoaWNoIGlzIGl0cyBwYWlyKSwgaXMgcHV0IGluIHRoZSBuZXdseQppbnRyb2R1Y2VkIGZ1bmN0 aW9uIHJjdV9pZGxlX2VudGVyKCksIHJpZ2h0IGFmdGVyIHVwZGF0aW5nIHRoZQpjcHVtYXNrLiBU aGV5IHByZXZlbnQgcmFjZXMgYmV0d2VlbiBDUFVzIGdvaW5nIGlkbGUgZHVyaW5nIHRoZQpiZWdp bm5pbmcgb2YgYSBncmFjZSBwZXJpb2QuCgpTaWduZWQtb2ZmLWJ5OiBEYXJpbyBGYWdnaW9saSA8 ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KLS0tCkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5j aXRyaXguY29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNj OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBLb25yYWQgUnplc3p1dGVrIFdp bGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFi ZWxsaW5pQGtlcm5lbC5vcmc+CkNjOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KQ2M6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNjOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBh cm0uY29tPgotLS0KQ2hhbmdlcyBmcm9tIHYyOgoqIGluaXRpYWxpemUgaWRsZV9jcHVtYXNrIHRv ICJhbGwgY2xlYXIiLCBpLmUuLCBhbGwgdGhlIENQVXMgYXJlIGJ1c3k7CiAgdGhleSdsbCBjbGVh ciB0aGVpciBiaXQgb3V0IHRoZW1zZWx2ZXMgYXMgc29vbiBhcyB0aGUgcnVuIHRoZSBpZGxlCiAg bG9vcCAocHJldHR5IHNvb24gYW55d2F5KS4KCkNoYW5nZXMgZnJvbSB2MToKKiBjYWxsIHJjdV9p ZGxlX3tlbnRlcixleGl0fSgpIGZyb20gdGljayBzdXNwZW5zaW9uL3Jlc3RhcnRpbmcgbG9naWMu ICBUaGlzCiAgd2lkZW4gdGhlIHdpbmRvdyBkdXJpbmcgd2hpY2ggYSBDUFUgaGFzIGl0cyBiaXQg c2V0IGluIHRoZSBpZGxlIGNwdW1hc2suCiAgRHVyaW5nIHJldmlldywgaXQgd2FzIHN1Z2dlc3Rl ZCB0byBkbyB0aGUgb3Bwb3NpdGUgKG5hcnJvdyBpdCksIGFuZCB0aGF0J3MKICB3aGF0IEkgZGlk IGZpcnN0LiBCdXQgdGhlbiwgSSBjaGFuZ2VkIG15IG1pbmQsIGFzIGRvaW5nIHRoaW5ncyBhcyB0 aGV5IGxvb2sKICBub3cgKHdpZGUgd2luZG93KSwgY3VyZXMgYW5vdGhlciBwcmUtZXhpc3Rpbmcg KGFuZCBpbmRlcGVuZGVudCkgcmFjYSB3aGljaAogIFRpbSBkaXNjb3ZlcmVkLCBzdGlsbCBkdXJp bmcgdjEgcmV2aWV3OwoqIGFkZCBhIGJhcnJpZXIgaW4gcmN1X2lkbGVfZW50ZXIoKSB0b28sIHRv IHByb3Blcmx5IGRlYWwgd2l0aCB0aGUgcmFjZSBUaW0KICBwb2ludGVkIG91dCBkdXJpbmcgcmV2 aWV3OwoqIG1hcmsgQ1BVIHdoZXJlIFJDVSBpbml0aWFsaXphdGlvbiBoYXBwZW5zLCBhdCBib290 LCBhcyBub24taWRsZS4KLS0tCiB4ZW4vY29tbW9uL3JjdXBkYXRlLmMgICAgICB8ICAgNDEgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIHhlbi9jb21tb24vc2NoZWR1 bGUuYyAgICAgIHwgICAgMiArKwogeGVuL2luY2x1ZGUveGVuL3JjdXBkYXRlLmggfCAgICAzICsr KwogMyBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3hlbi9jb21tb24vcmN1cGRhdGUuYyBiL3hlbi9jb21tb24vcmN1cGRhdGUuYwpp bmRleCA4Y2M1YTgyLi4xMmFlN2RhIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3JjdXBkYXRlLmMK KysrIGIveGVuL2NvbW1vbi9yY3VwZGF0ZS5jCkBAIC01Miw3ICs1Miw4IEBAIHN0YXRpYyBzdHJ1 Y3QgcmN1X2N0cmxibGsgewogICAgIGludCAgbmV4dF9wZW5kaW5nOyAgLyogSXMgdGhlIG5leHQg YmF0Y2ggYWxyZWFkeSB3YWl0aW5nPyAgICAgICAgICovCiAKICAgICBzcGlubG9ja190ICBsb2Nr IF9fY2FjaGVsaW5lX2FsaWduZWQ7Ci0gICAgY3B1bWFza190ICAgY3B1bWFzazsgLyogQ1BVcyB0 aGF0IG5lZWQgdG8gc3dpdGNoIGluIG9yZGVyICAgICovCisgICAgY3B1bWFza190ICAgY3B1bWFz azsgLyogQ1BVcyB0aGF0IG5lZWQgdG8gc3dpdGNoIGluIG9yZGVyIC4uLiAqLworICAgIGNwdW1h c2tfdCAgIGlkbGVfY3B1bWFzazsgLyogLi4uIHVubGVzcyB0aGV5IGFyZSBhbHJlYWR5IGlkbGUg Ki8KICAgICAvKiBmb3IgY3VycmVudCBiYXRjaCB0byBwcm9jZWVkLiAgICAgICAgKi8KIH0gX19j YWNoZWxpbmVfYWxpZ25lZCByY3VfY3RybGJsayA9IHsKICAgICAuY3VyID0gLTMwMCwKQEAgLTI0 OCw3ICsyNDksMTYgQEAgc3RhdGljIHZvaWQgcmN1X3N0YXJ0X2JhdGNoKHN0cnVjdCByY3VfY3Ry bGJsayAqcmNwKQogICAgICAgICBzbXBfd21iKCk7CiAgICAgICAgIHJjcC0+Y3VyKys7CiAKLSAg ICAgICAgY3B1bWFza19jb3B5KCZyY3AtPmNwdW1hc2ssICZjcHVfb25saW5lX21hcCk7CisgICAg ICAgLyoKKyAgICAgICAgKiBNYWtlIHN1cmUgdGhlIGluY3JlbWVudCBvZiByY3AtPmN1ciBpcyB2 aXNpYmxlIHNvLCBldmVuIGlmIGEKKyAgICAgICAgKiBDUFUgdGhhdCBpcyBhYm91dCB0byBnbyBp ZGxlLCBpcyBjYXB0dXJlZCBpbnNpZGUgcmNwLT5jcHVtYXNrLAorICAgICAgICAqIHJjdV9wZW5k aW5nKCkgd2lsbCByZXR1cm4gZmFsc2UsIHdoaWNoIHRoZW4gbWVhbnMgY3B1X3F1aWV0KCkKKyAg ICAgICAgKiB3aWxsIGJlIGludm9rZWQsIGJlZm9yZSB0aGUgQ1BVIHdvdWxkIGFjdHVhbGx5IGVu dGVyIGlkbGUuCisgICAgICAgICoKKyAgICAgICAgKiBUaGlzIGJhcnJpZXIgaXMgcGFpcmVkIHdp dGggdGhlIG9uZSBpbiByY3VfaWRsZV9lbnRlcigpLgorICAgICAgICAqLworICAgICAgICBzbXBf bWIoKTsKKyAgICAgICAgY3B1bWFza19hbmRub3QoJnJjcC0+Y3B1bWFzaywgJmNwdV9vbmxpbmVf bWFwLCAmcmNwLT5pZGxlX2NwdW1hc2spOwogICAgIH0KIH0KIApAQCAtNDc0LDcgKzQ4NCwzNCBA QCBzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIGNwdV9uZmIgPSB7CiB2b2lkIF9faW5pdCBy Y3VfaW5pdCh2b2lkKQogewogICAgIHZvaWQgKmNwdSA9ICh2b2lkICopKGxvbmcpc21wX3Byb2Nl c3Nvcl9pZCgpOworCisgICAgY3B1bWFza19jbGVhcigmcmN1X2N0cmxibGsuaWRsZV9jcHVtYXNr KTsKICAgICBjcHVfY2FsbGJhY2soJmNwdV9uZmIsIENQVV9VUF9QUkVQQVJFLCBjcHUpOwogICAg IHJlZ2lzdGVyX2NwdV9ub3RpZmllcigmY3B1X25mYik7CiAgICAgb3Blbl9zb2Z0aXJxKFJDVV9T T0ZUSVJRLCByY3VfcHJvY2Vzc19jYWxsYmFja3MpOwogfQorCisvKgorICogVGhlIENQVSBpcyBi ZWNvbWluZyBpZGxlLCBzbyBubyBtb3JlIHJlYWQgc2lkZSBjcml0aWNhbAorICogc2VjdGlvbnMs IGFuZCBvbmUgbW9yZSBzdGVwIHRvd2FyZCBncmFjZSBwZXJpb2QuCisgKi8KK3ZvaWQgcmN1X2lk bGVfZW50ZXIodW5zaWduZWQgaW50IGNwdSkKK3sKKyAgICBBU1NFUlQoIWNwdW1hc2tfdGVzdF9j cHUoY3B1LCAmcmN1X2N0cmxibGsuaWRsZV9jcHVtYXNrKSk7CisgICAgY3B1bWFza19zZXRfY3B1 KGNwdSwgJnJjdV9jdHJsYmxrLmlkbGVfY3B1bWFzayk7CisgICAgLyoKKyAgICAgKiBJZiBzb21l IG90aGVyIENQVSBpcyBzdGFydGluZyBhIG5ldyBncmFjZSBwZXJpb2QsIHdlJ2xsIG5vdGljZSB0 aGF0CisgICAgICogYnkgc2VlaW5nIGEgbmV3IHZhbHVlIGluIHJjcC0+Y3VyIChkaWZmZXJlbnQg dGhhbiBvdXIgcXVpZXNjYmF0Y2gpLgorICAgICAqIFRoYXQgd2lsbCBmb3JjZSB1cyBhbGwgdGhl IHdheSB1bnRpbCBjcHVfcXVpZXQoKSwgY2xlYXJpbmcgb3VyIGJpdAorICAgICAqIGluIHJjcC0+ Y3B1bWFzaywgZXZlbiBpbiBjYXNlIHdlIG1hbmFnZWQgdG8gZ2V0IGluIHRoZXJlLgorICAgICAq CisgICAgICogU2UgdGhlIGNvbW1lbnQgYmVmb3JlIGNwdW1hc2tfYW5kbm90KCkgaW4gIHJjdV9z dGFydF9iYXRjaCgpLgorICAgICAqLworICAgIHNtcF9tYigpOworfQorCit2b2lkIHJjdV9pZGxl X2V4aXQodW5zaWduZWQgaW50IGNwdSkKK3sKKyAgICBBU1NFUlQoY3B1bWFza190ZXN0X2NwdShj cHUsICZyY3VfY3RybGJsay5pZGxlX2NwdW1hc2spKTsKKyAgICBjcHVtYXNrX2NsZWFyX2NwdShj cHUsICZyY3VfY3RybGJsay5pZGxlX2NwdW1hc2spOworfQpkaWZmIC0tZ2l0IGEveGVuL2NvbW1v bi9zY2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmluZGV4IGU4M2Y0YzcuLmM2ZjQ4 MTcgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1bGUuYworKysgYi94ZW4vY29tbW9uL3Nj aGVkdWxlLmMKQEAgLTE5MDMsNiArMTkwMyw3IEBAIHZvaWQgc2NoZWRfdGlja19zdXNwZW5kKHZv aWQpCiAKICAgICBzY2hlZCA9IHBlcl9jcHUoc2NoZWR1bGVyLCBjcHUpOwogICAgIFNDSEVEX09Q KHNjaGVkLCB0aWNrX3N1c3BlbmQsIGNwdSk7CisgICAgcmN1X2lkbGVfZW50ZXIoY3B1KTsKIH0K IAogdm9pZCBzY2hlZF90aWNrX3Jlc3VtZSh2b2lkKQpAQCAtMTkxMCw2ICsxOTExLDcgQEAgdm9p ZCBzY2hlZF90aWNrX3Jlc3VtZSh2b2lkKQogICAgIHN0cnVjdCBzY2hlZHVsZXIgKnNjaGVkOwog ICAgIHVuc2lnbmVkIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAKKyAgICByY3VfaWRs ZV9leGl0KGNwdSk7CiAgICAgc2NoZWQgPSBwZXJfY3B1KHNjaGVkdWxlciwgY3B1KTsKICAgICBT Q0hFRF9PUChzY2hlZCwgdGlja19yZXN1bWUsIGNwdSk7CiB9CmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS94ZW4vcmN1cGRhdGUuaCBiL3hlbi9pbmNsdWRlL3hlbi9yY3VwZGF0ZS5oCmluZGV4IDU1 N2E3YjEuLjU2MWFjNDMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9yY3VwZGF0ZS5oCisr KyBiL3hlbi9pbmNsdWRlL3hlbi9yY3VwZGF0ZS5oCkBAIC0xNDYsNCArMTQ2LDcgQEAgdm9pZCBj YWxsX3JjdShzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQsCiAKIGludCByY3VfYmFycmllcih2b2lkKTsK IAordm9pZCByY3VfaWRsZV9lbnRlcih1bnNpZ25lZCBpbnQgY3B1KTsKK3ZvaWQgcmN1X2lkbGVf ZXhpdCh1bnNpZ25lZCBpbnQgY3B1KTsKKwogI2VuZGlmIC8qIF9fWEVOX1JDVVBEQVRFX0ggKi8K CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK