From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH for-4.12 v2 17/17] xen/arm: Track page accessed between batch of Set/Way operations Date: Tue, 4 Dec 2018 20:26:51 +0000 Message-ID: <20181204202651.8836-18-julien.grall@arm.com> References: <20181204202651.8836-1-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gUHIA-0008Kx-Dc for xen-devel@lists.xenproject.org; Tue, 04 Dec 2018 20:27:38 +0000 In-Reply-To: <20181204202651.8836-1-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org QXQgdGhlIG1vbWVudCwgdGhlIGltcGxlbWVudGF0aW9uIG9mIFNldC9XYXkgb3BlcmF0aW9ucyB3 aWxsIGdvIHRocm91Z2gKYWxsIHRoZSBlbnRyaWVzIG9mIHRoZSBndWVzdCBQMk0gYW5kIGZsdXNo IHRoZW0uIEhvd2V2ZXIsIHRoaXMgaXMgdmVyeQpleHBlbnNpdmUgYW5kIG1heSByZW5kZXIgdW51 c2FibGUgYSBndWVzdCBPUyB1c2luZyB0aGVtLgoKRm9yIGluc3RhbmNlLCBMaW51eCAzMi1iaXQg d2lsbCB1c2UgU2V0L1dheSBvcGVyYXRpb25zIGR1cmluZyBzZWNvbmRhcnkKQ1BVIGJyaW5nLXVw LiBBcyB0aGUgaW1wbGVtZW50YXRpb24gaXMgcmVhbGx5IGV4cGVuc2l2ZSwgaXQgbWF5IGJlIHBv c3NpYmxlCnRvIGhpdCB0aGUgQ1BVIGJyaW5nLXVwIHRpbWVvdXQuCgpUbyBsaW1pdCB0aGUgU2V0 L1dheSBpbXBhY3QsIHdlIHRyYWNrIHdoYXQgcGFnZXMgaGFzIGJlZW4gb2YgdGhlIGd1ZXN0Cmhh cyBiZWVuIGFjY2Vzc2VkIGJldHdlZW4gYmF0Y2ggb2YgU2V0L1dheSBvcGVyYXRpb25zLiBUaGlz IGlzIGRvbmUKdXNpbmcgYml0WzBdIChha2EgdmFsaWQgYml0KSBvZiB0aGUgUDJNIGVudHJ5LgoK VGhpcyBwYXRjaCBhZGRzIGEgbmV3IHBlci1hcmNoIGhlbHBlciBpcyBpbnRyb2R1Y2VkIHRvIHBl cmZvcm0gYWN0aW9ucyBqdXN0CmJlZm9yZSB0aGUgZ3Vlc3QgaXMgZmlyc3QgdW5wYXVzZWQuIFRo aXMgd2lsbCBiZSB1c2VkIHRvIGludmFsaWRhdGUgdGhlClAyTSB0byB0cmFjayBhY2Nlc3MgZnJv bSB0aGUgc3RhcnQgb2YgdGhlIGd1ZXN0LgoKU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxq dWxpZW4uZ3JhbGxAYXJtLmNvbT4KCi0tLQoKV2hpbGUgd2UgY2FuIHNwcmVhZCBkLT5jcmVhdGlv bl9maW5pc2hlZCBhbGwgb3ZlciB0aGUgY29kZSwgdGhlIHBlci1hcmNoCmhlbHBlciB0byBwZXJm b3JtIGFjdGlvbnMganVzdCBiZWZvcmUgdGhlIGd1ZXN0IGlzIGZpcnN0IHVucGF1c2VkIGNhbgpi cmluZyBhIGxvdCBvZiBiZW5lZml0IGZvciBib3RoIGFyY2hpdGVjdHVyZS4gRm9yIGluc3RhbmNl LCBvbiBBcm0sIHRoZQpmbHVzaCB0byB0aGUgaW5zdHJ1Y3Rpb24gY2FjaGUgY291bGQgYmUgZGVs YXllZCB1bnRpbCB0aGUgZG9tYWluIGlzCmZpcnN0IHJ1bi4gVGhpcyB3b3VsZCBpbXByb3ZlIGdy ZWF0bHkgdGhlIHBlcmZvcm1hbmNlIG9mIGNyZWF0aW5nIGd1ZXN0LgoKSSBhbSBzdGlsbCBkb2lu ZyB0aGUgYmVuY2htYXJrIHdoZXRoZXIgaGF2aW5nIGEgY29tbWFuZCBsaW5lIG9wdGlvbiBpcwp3 b3J0aCBpdC4gSSB3aWxsIHByb3ZpZGUgbnVtYmVycyBhcyBzb29uIGFzIEkgaGF2ZSB0aGVtLgoK Q2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEp1bGll biBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5j aXRyaXguY29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNj OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBLb25yYWQgUnplc3p1dGVrIFdp bGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkNjOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4K Q2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL2RvbWFp bi5jICAgICB8IDE0ICsrKysrKysrKysrKysrCiB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgIHwg MzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMg ICAgIHwgIDQgKysrKwogeGVuL2NvbW1vbi9kb21haW4uYyAgICAgICB8ICA1ICsrKystCiB4ZW4v aW5jbHVkZS9hc20tYXJtL3AybS5oIHwgIDIgKysKIHhlbi9pbmNsdWRlL3hlbi9kb21haW4uaCAg fCAgMiArKwogNiBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW4uYyBiL3hlbi9hcmNoL2FybS9kb21h aW4uYwppbmRleCAxZDkyNmRjYjI5Li40MWYxMDE3NDZlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h cm0vZG9tYWluLmMKKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbi5jCkBAIC03NjcsNiArNzY3LDIw IEBAIGludCBhcmNoX2RvbWFpbl9zb2Z0X3Jlc2V0KHN0cnVjdCBkb21haW4gKmQpCiAgICAgcmV0 dXJuIC1FTk9TWVM7CiB9CiAKK3ZvaWQgYXJjaF9kb21haW5fY3JlYXRpb25fZmluaXNoZWQoc3Ry dWN0IGRvbWFpbiAqZCkKK3sKKyAgICAvKgorICAgICAqIFRvIGF2b2lkIGZsdXNoaW5nIHRoZSB3 aG9sZSBndWVzdCBSQU0gb24gdGhlIGZpcnN0IFNldC9XYXksIHdlCisgICAgICogaW52YWxpZGF0 ZSB0aGUgUDJNIHRvIHRyYWNrIHdoYXQgaGFzIGJlZW4gYWNjZXNzZWQuCisgICAgICoKKyAgICAg KiBUaGlzIGlzIG9ubHkgdHVybmVkIHdoZW4gSU9NTVUgaXMgbm90IHVzZWQgb3IgdGhlIHBhZ2Ut dGFibGUgYXJlCisgICAgICogbm90IHNoYXJlZCBiZWNhdXNlIGJpdFswXSAoZS5nIHZhbGlkIGJp dCkgdW5zZXQgd2lsbCByZXN1bHQKKyAgICAgKiBJT01NVSBmYXVsdCB0aGF0IGNvdWxkIGJlIG5v dCBmaXhlZC11cC4KKyAgICAgKi8KKyAgICBpZiAoICFpb21tdV91c2VfaGFwX3B0KGQpICkKKyAg ICAgICAgcDJtX2ludmFsaWRhdGVfcm9vdChwMm1fZ2V0X2hvc3RwMm0oZCkpOworfQorCiBzdGF0 aWMgaW50IGlzX2d1ZXN0X3B2MzJfcHNyKHVpbnQzMl90IHBzcikKIHsKICAgICBzd2l0Y2ggKHBz ciAmIFBTUl9NT0RFX01BU0spCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcDJtLmMgYi94ZW4v YXJjaC9hcm0vcDJtLmMKaW5kZXggOGVlNmZmN2JkNy4uNDRlYTM1ODBjZiAxMDA2NDQKLS0tIGEv eGVuL2FyY2gvYXJtL3AybS5jCisrKyBiL3hlbi9hcmNoL2FybS9wMm0uYwpAQCAtMTA3OSw2ICsx MDc5LDIyIEBAIHN0YXRpYyB2b2lkIHAybV9pbnZhbGlkYXRlX3RhYmxlKHN0cnVjdCBwMm1fZG9t YWluICpwMm0sIG1mbl90IG1mbikKIH0KIAogLyoKKyAqIEludmFsaWRhdGUgYWxsIGVudHJpZXMg aW4gdGhlIHJvb3QgcGFnZS10YWJsZXMuIFRoaXMgaXMKKyAqIHVzZWZ1bCB0byBnZXQgZmF1bHQg b24gZW50cnkgYW5kIGRvIGFuIGFjdGlvbi4KKyAqLwordm9pZCBwMm1faW52YWxpZGF0ZV9yb290 KHN0cnVjdCBwMm1fZG9tYWluICpwMm0pCit7CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAgICBw Mm1fd3JpdGVfbG9jayhwMm0pOworCisgICAgZm9yICggaSA9IDA7IGkgPCBQMk1fUk9PVF9MRVZF TDsgaSsrICkKKyAgICAgICAgcDJtX2ludmFsaWRhdGVfdGFibGUocDJtLCBwYWdlX3RvX21mbihw Mm0tPnJvb3QgKyBpKSk7CisKKyAgICBwMm1fd3JpdGVfdW5sb2NrKHAybSk7Cit9CisKKy8qCiAg KiBSZXNvbHZlIGFueSB0cmFuc2xhdGlvbiBmYXVsdCBkdWUgdG8gY2hhbmdlIGluIHRoZSBwMm0u IFRoaXMKICAqIGluY2x1ZGVzIGJyZWFrLWJlZm9yZS1tYWtlIGFuZCB2YWxpZCBiaXQgY2xlYXJl ZC4KICAqLwpAQCAtMTU4NywxNSArMTYwMywxOCBAQCBpbnQgcDJtX2NhY2hlX2ZsdXNoX3Jhbmdl KHN0cnVjdCBkb21haW4gKmQsIGdmbl90ICpwc3RhcnQsIGdmbl90IGVuZCkKICAgICAgICAgICov CiAgICAgICAgIGlmICggZ2ZuX2VxKHN0YXJ0LCBuZXh0X2Jsb2NrX2dmbikgKQogICAgICAgICB7 Ci0gICAgICAgICAgICBtZm4gPSBwMm1fZ2V0X2VudHJ5KHAybSwgc3RhcnQsICZ0LCBOVUxMLCAm b3JkZXIsIE5VTEwpOworICAgICAgICAgICAgYm9vbCB2YWxpZDsKKworICAgICAgICAgICAgbWZu ID0gcDJtX2dldF9lbnRyeShwMm0sIHN0YXJ0LCAmdCwgTlVMTCwgJm9yZGVyLCAmdmFsaWQpOwog ICAgICAgICAgICAgbmV4dF9ibG9ja19nZm4gPSBnZm5fbmV4dF9ib3VuZGFyeShzdGFydCwgb3Jk ZXIpOwogCiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogVGhlIGZvbGxvd2luZyByZWdp b25zIGNhbiBiZSBza2lwcGVkOgogICAgICAgICAgICAgICogICAgICAtIEhvbGUKICAgICAgICAg ICAgICAqICAgICAgLSBub24tUkFNCisgICAgICAgICAgICAgKiAgICAgIC0gYmxvY2sgd2l0aCB2 YWxpZCBiaXQgKGJpdFswXSkgdW5zZXQKICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgaWYg KCBtZm5fZXEobWZuLCBJTlZBTElEX01GTikgfHwgIXAybV9pc19hbnlfcmFtKHQpICkKKyAgICAg ICAgICAgIGlmICggbWZuX2VxKG1mbiwgSU5WQUxJRF9NRk4pIHx8ICFwMm1faXNfYW55X3JhbSh0 KSB8fCAhdmFsaWQgKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGNvdW50Kys7CiAg ICAgICAgICAgICAgICAgc3RhcnQgPSBuZXh0X2Jsb2NrX2dmbjsKQEAgLTE2MjksNiArMTY0OCw3 IEBAIGludCBwMm1fY2FjaGVfZmx1c2hfcmFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3QgKnBz dGFydCwgZ2ZuX3QgZW5kKQogICovCiB2b2lkIHAybV9mbHVzaF92bShzdHJ1Y3QgdmNwdSAqdikK IHsKKyAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gcDJtX2dldF9ob3N0cDJtKHYtPmRvbWFp bik7CiAgICAgaW50IHJjOwogICAgIGdmbl90IHN0YXJ0ID0gX2dmbigwKTsKIApAQCAtMTY0OCw2 ICsxNjY4LDEyIEBAIHZvaWQgcDJtX2ZsdXNoX3ZtKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICAg ICAgICAgICJQMk0gaGFzIG5vdCBiZWVuIGNvcnJlY3RseSBjbGVhbmVkIChyYyA9ICVkKVxuIiwK ICAgICAgICAgICAgICAgICByYyk7CiAKKyAgICAvKgorICAgICAqIEludmFsaWRhdGUgdGhlIHAy bSB0byB0cmFjayB3aGljaCBwYWdlIHdhcyBtb2RpZmllZCBieSB0aGUgZ3Vlc3QKKyAgICAgKiBi ZXR3ZWVuIGNhbGwgb2YgcDJtX2ZsdXNoX3ZtKCkuCisgICAgICovCisgICAgcDJtX2ludmFsaWRh dGVfcm9vdChwMm0pOworCiAgICAgdi0+YXJjaC5uZWVkX2ZsdXNoX3RvX3JhbSA9IGZhbHNlOwog fQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9t YWluLmMKaW5kZXggYjRkNTk0ODdhZC4uZDI4ZTNmOWIxNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwpAQCAtNzYyLDYgKzc2Miwx MCBAQCBpbnQgYXJjaF9kb21haW5fc29mdF9yZXNldChzdHJ1Y3QgZG9tYWluICpkKQogICAgIHJl dHVybiByZXQ7CiB9CiAKK3ZvaWQgYXJjaF9kb21haW5fY3JlYXRpb25fZmluaXNoZWQoc3RydWN0 IGRvbWFpbiAqZCkKK3sKK30KKwogLyoKICAqIFRoZXNlIGFyZSB0aGUgbWFza3Mgb2YgQ1I0IGJp dHMgKHN1YmplY3QgdG8gaGFyZHdhcmUgYXZhaWxhYmlsaXR5KSB3aGljaCBhCiAgKiBQViBndWVz dCBtYXkgbm90IGxlZ2l0aW1pYXRlbHkgYXR0ZW1wdCB0byBtb2RpZnkuCmRpZmYgLS1naXQgYS94 ZW4vY29tbW9uL2RvbWFpbi5jIGIveGVuL2NvbW1vbi9kb21haW4uYwppbmRleCA3OGNjNTI0OWU4 Li5jNjIzZGFlYzU2IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCisrKyBiL3hlbi9j b21tb24vZG9tYWluLmMKQEAgLTExMTYsOCArMTExNiwxMSBAQCBpbnQgZG9tYWluX3VucGF1c2Vf Ynlfc3lzdGVtY29udHJvbGxlcihzdHJ1Y3QgZG9tYWluICpkKQogICAgICAqIENyZWF0aW9uIGlz IGNvbnNpZGVyZWQgZmluaXNoZWQgd2hlbiB0aGUgY29udHJvbGxlciByZWZlcmVuY2UgY291bnQK ICAgICAgKiBmaXJzdCBkcm9wcyB0byAwLgogICAgICAqLwotICAgIGlmICggbmV3ID09IDAgKQor ICAgIGlmICggbmV3ID09IDAgJiYgIWQtPmNyZWF0aW9uX2ZpbmlzaGVkICkKKyAgICB7CiAgICAg ICAgIGQtPmNyZWF0aW9uX2ZpbmlzaGVkID0gdHJ1ZTsKKyAgICAgICAgYXJjaF9kb21haW5fY3Jl YXRpb25fZmluaXNoZWQoZCk7CisgICAgfQogCiAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmggYi94ZW4vaW5jbHVkZS9hc20tYXJt L3AybS5oCmluZGV4IDc5YWJjYjVhNjMuLjAxY2QzZWU0YjUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL2FzbS1hcm0vcDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaApAQCAtMjMx LDYgKzIzMSw4IEBAIGludCBwMm1fc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAK IGJvb2wgcDJtX3Jlc29sdmVfdHJhbnNsYXRpb25fZmF1bHQoc3RydWN0IGRvbWFpbiAqZCwgZ2Zu X3QgZ2ZuKTsKIAordm9pZCBwMm1faW52YWxpZGF0ZV9yb290KHN0cnVjdCBwMm1fZG9tYWluICpw Mm0pOworCiAvKgogICogQ2xlYW4gJiBpbnZhbGlkYXRlIGNhY2hlcyBjb3JyZXNwb25kaW5nIHRv IGEgcmVnaW9uIFtzdGFydCxlbmQpIG9mIGd1ZXN0CiAgKiBhZGRyZXNzIHNwYWNlLgpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5o CmluZGV4IDMzZTQxNDg2Y2IuLmQxYmZjODJmNTcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hl bi9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZG9tYWluLmgKQEAgLTcwLDYgKzcwLDgg QEAgdm9pZCBhcmNoX2RvbWFpbl91bnBhdXNlKHN0cnVjdCBkb21haW4gKmQpOwogCiBpbnQgYXJj aF9kb21haW5fc29mdF9yZXNldChzdHJ1Y3QgZG9tYWluICpkKTsKIAordm9pZCBhcmNoX2RvbWFp bl9jcmVhdGlvbl9maW5pc2hlZChzdHJ1Y3QgZG9tYWluICpkKTsKKwogdm9pZCBhcmNoX3AybV9z ZXRfYWNjZXNzX3JlcXVpcmVkKHN0cnVjdCBkb21haW4gKmQsIGJvb2wgYWNjZXNzX3JlcXVpcmVk KTsKIAogaW50IGFyY2hfc2V0X2luZm9fZ3Vlc3Qoc3RydWN0IHZjcHUgKiwgdmNwdV9ndWVzdF9j b250ZXh0X3UpOwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==