From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongli Zhang Subject: [PATCH v3 1/1] xen: move TLB-flush filtering out into populate_physmap during vm creation Date: Thu, 8 Sep 2016 13:30:03 +0800 Message-ID: <1473312603-28581-1-git-send-email-dongli.zhang@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: sstabellini@kernel.org, wei.liu2@citrix.com, george.dunlap@eu.citrix.com, ian.jackson@eu.citrix.com, dario.faggioli@citrix.com, tim@xen.org, david.vrabel@citrix.com, jbeulich@suse.com, andrew.cooper3@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRlZCBwYXJ0cyBvZiBUT0RPIGxlZnQgaW4gY29tbWl0IGlkCmE5 MDJjMTJlZTQ1ZmM5Mzg5ZWI4ZmU1NGVlZGRhZjI2N2E1NTVjNTguIEl0IG1vdmVkIFRMQi1mbHVz aCBmaWx0ZXJpbmcgb3V0CmludG8gcG9wdWxhdGVfcGh5c21hcC4gQmVjYXVzZSBvZiBUTEItZmx1 c2ggaW4gYWxsb2NfaGVhcF9wYWdlcywgaXQncyB2ZXJ5CnNsb3cgdG8gY3JlYXRlIGEgZ3Vlc3Qg d2l0aCBtZW1vcnkgc2l6ZSBvZiBtb3JlIHRoYW4gMTAwR0Igb24gaG9zdCB3aXRoCjEwMCsgY3B1 cy4KClRoaXMgcGF0Y2ggaW50cm9kdWNlZCBhICJNRU1GX25vX3RsYmZsdXNoIiBiaXQgdG8gbWVt ZmxhZ3MgdG8gaW5kaWNhdGUKd2hldGhlciBUTEItZmx1c2ggc2hvdWxkIGJlIGRvbmUgaW4gYWxs b2NfaGVhcF9wYWdlcyBvciBpdHMgY2FsbGVyCnBvcHVsYXRlX3BoeXNtYXAuIE9uY2UgdGhpcyBi aXQgaXMgc2V0IGluIG1lbWZsYWdzLCBhbGxvY19oZWFwX3BhZ2VzIHdpbGwKaWdub3JlIFRMQi1m bHVzaC4gVG8gdXNlIHRoaXMgYml0IGFmdGVyIHZtIGlzIGNyZWF0ZWQgbWlnaHQgbGVhZCB0bwpz ZWN1cml0eSBpc3N1ZSwgdGhhdCBpcywgdGhpcyB3b3VsZCBtYWtlIHBhZ2VzIGFjY2Vzc2libGUg dG8gdGhlIGd1ZXN0IEIsCndoZW4gZ3Vlc3QgQSBtYXkgc3RpbGwgaGF2ZSBhIGNhY2hlZCBtYXBw aW5nIHRvIHRoZW0uCgpUaGVyZWZvcmUsIHRoaXMgcGF0Y2ggYWxzbyBpbnRyb2R1Y2VkIGEgImFs cmVhZHlfc2NoZWR1bGVkIiBmaWVsZCB0byBzdHJ1Y3QKZG9tYWluIHRvIGluZGljYXRlIHdoZXRo ZXIgdGhpcyBkb21haW4gaGFzIGV2ZXIgZ290IHNjaGVkdWxlZCBieQpoeXBlcnZpc29yLiAgTUVN Rl9ub190bGJmbHVzaCBjYW4gYmUgc2V0IG9ubHkgZHVyaW5nIHZtIGNyZWF0aW9uIHBoYXNlIHdo ZW4KYWxyZWFkeV9zY2hlZHVsZWQgaXMgc3RpbGwgMCBiZWZvcmUgdGhpcyBkb21haW4gZ2V0cyBz Y2hlZHVsZWQgZm9yIHRoZQpmaXJzdCB0aW1lLgoKVE9ETzogYmFsbG9vbmluZyB2ZXJ5IGh1Z2Ug YW1vdW50IG9mIG1lbW9yeSBjYW5ub3QgYmVuZWZpdCBmcm9tIHRoaXMgcGF0Y2gKYW5kIG1pZ2h0 IHN0aWxsIGJlIHNsb3cuCgpTaWduZWQtb2ZmLWJ5OiBEb25nbGkgWmhhbmcgPGRvbmdsaS56aGFu Z0BvcmFjbGUuY29tPgoKLS0tCkNoYW5nZWQgc2luY2UgdjI6CiAgKiBMaW1pdCB0aGlzIG9wdGlt aXphdGlvbiB0byBkb21haW4gY3JlYXRpb24gdGltZS4KCi0tLQogeGVuL2NvbW1vbi9kb21haW4u YyAgICAgfCAgMiArKwogeGVuL2NvbW1vbi9tZW1vcnkuYyAgICAgfCAzMyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIHhlbi9jb21tb24vcGFnZV9hbGxvYy5jIHwgIDMgKystCiB4 ZW4vY29tbW9uL3NjaGVkdWxlLmMgICB8ICA1ICsrKysrCiB4ZW4vaW5jbHVkZS94ZW4vbW0uaCAg ICB8ICAyICsrCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCB8ICAzICsrKwogNiBmaWxlcyBjaGFu Z2VkLCA0NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2Nv bW1vbi9kb21haW4uYyBiL3hlbi9jb21tb24vZG9tYWluLmMKaW5kZXggYTg4MDRlNC4uNjExYTQ3 MSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94ZW4vY29tbW9uL2RvbWFp bi5jCkBAIC0zMDMsNiArMzAzLDggQEAgc3RydWN0IGRvbWFpbiAqZG9tYWluX2NyZWF0ZShkb21p ZF90IGRvbWlkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MsCiAgICAgaWYgKCAhemFsbG9jX2Nw dW1hc2tfdmFyKCZkLT5kb21haW5fZGlydHlfY3B1bWFzaykgKQogICAgICAgICBnb3RvIGZhaWw7 CiAKKyAgICBkLT5hbHJlYWR5X3NjaGVkdWxlZCA9IDA7CisKICAgICBpZiAoIGRvbWNyX2ZsYWdz ICYgRE9NQ1JGX2h2bSApCiAgICAgICAgIGQtPmd1ZXN0X3R5cGUgPSBndWVzdF90eXBlX2h2bTsK ICAgICBlbHNlIGlmICggZG9tY3JfZmxhZ3MgJiBET01DUkZfcHZoICkKZGlmZiAtLWdpdCBhL3hl bi9jb21tb24vbWVtb3J5LmMgYi94ZW4vY29tbW9uL21lbW9yeS5jCmluZGV4IGYzNGRkNTYuLjM2 NDE0NjkgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vbWVtb3J5LmMKKysrIGIveGVuL2NvbW1vbi9t ZW1vcnkuYwpAQCAtMTQxLDYgKzE0MSw4IEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlX3BoeXNtYXAo c3RydWN0IG1lbW9wX2FyZ3MgKmEpCiAgICAgdW5zaWduZWQgaW50IGksIGo7CiAgICAgeGVuX3Bm bl90IGdwZm4sIG1mbjsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gYS0+ZG9tYWluLCAqY3Vycl9k ID0gY3VycmVudC0+ZG9tYWluOworICAgIGJvb2xfdCBuZWVkX3RsYmZsdXNoID0gMDsKKyAgICB1 aW50MzJfdCB0bGJmbHVzaF90aW1lc3RhbXAgPSAwOwogCiAgICAgaWYgKCAhZ3Vlc3RfaGFuZGxl X3N1YnJhbmdlX29rYXkoYS0+ZXh0ZW50X2xpc3QsIGEtPm5yX2RvbmUsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYS0+bnJfZXh0ZW50cy0xKSApCkBAIC0xNTAsNiArMTUy LDEyIEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlX3BoeXNtYXAoc3RydWN0IG1lbW9wX2FyZ3MgKmEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X29yZGVyKGN1cnJfZCkpICkKICAgICAg ICAgcmV0dXJuOwogCisgICAgLyogTUVNRl9ub190bGJmbHVzaCBjYW4gYmUgc2V0IG9ubHkgZHVy aW5nIHZtIGNyZWF0aW9uIHBoYXNlIHdoZW4KKyAgICAgKiBhbHJlYWR5X3NjaGVkdWxlZCBpcyBz dGlsbCAwIGJlZm9yZSB0aGlzIGRvbWFpbiBnZXRzIHNjaGVkdWxlZCBmb3IKKyAgICAgKiB0aGUg Zmlyc3QgdGltZS4gKi8KKyAgICBpZiAoIGQtPmFscmVhZHlfc2NoZWR1bGVkID09IDAgKQorICAg ICAgICBhLT5tZW1mbGFncyB8PSBNRU1GX25vX3RsYmZsdXNoOworCiAgICAgZm9yICggaSA9IGEt Pm5yX2RvbmU7IGkgPCBhLT5ucl9leHRlbnRzOyBpKysgKQogICAgIHsKICAgICAgICAgaWYgKCBp ICE9IGEtPm5yX2RvbmUgJiYgaHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApCkBAIC0yMTQsNiAr MjIyLDIxIEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlX3BoeXNtYXAoc3RydWN0IG1lbW9wX2FyZ3Mg KmEpCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICAgICAgICAgIH0KIAor ICAgICAgICAgICAgICAgIGlmICggZC0+YWxyZWFkeV9zY2hlZHVsZWQgPT0gMCApCisgICAgICAg ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBmb3IgKCBqID0gMDsgaiA8ICgxVSA8PCBh LT5leHRlbnRfb3JkZXIpOyBqKysgKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAg ICAgICAgICAgICAgICBpZiAoIHBhZ2Vbal0udS5mcmVlLm5lZWRfdGxiZmx1c2ggJiYKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2Vbal0udGxiZmx1c2hfdGltZXN0YW1wIDw9IHRs YmZsdXNoX2N1cnJlbnRfdGltZSgpKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo IW5lZWRfdGxiZmx1c2ggfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2Vbal0u dGxiZmx1c2hfdGltZXN0YW1wID4gdGxiZmx1c2hfdGltZXN0YW1wKSkgKQorICAgICAgICAgICAg ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRfdGxiZmx1c2gg PSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRsYmZsdXNoX3RpbWVzdGFtcCA9IHBh Z2Vbal0udGxiZmx1c2hfdGltZXN0YW1wOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAgICAgICAg bWZuID0gcGFnZV90b19tZm4ocGFnZSk7CiAgICAgICAgICAgICB9CiAKQEAgLTIzMiw2ICsyNTUs MTYgQEAgc3RhdGljIHZvaWQgcG9wdWxhdGVfcGh5c21hcChzdHJ1Y3QgbWVtb3BfYXJncyAqYSkK ICAgICB9CiAKIG91dDoKKyAgICBpZiAoIG5lZWRfdGxiZmx1c2ggKQorICAgIHsKKyAgICAgICAg Y3B1bWFza190IG1hc2sgPSBjcHVfb25saW5lX21hcDsKKyAgICAgICAgdGxiZmx1c2hfZmlsdGVy KG1hc2ssIHRsYmZsdXNoX3RpbWVzdGFtcCk7CisgICAgICAgIGlmICggIWNwdW1hc2tfZW1wdHko Jm1hc2spICkKKyAgICAgICAgeworICAgICAgICAgICAgcGVyZmNfaW5jcihuZWVkX2ZsdXNoX3Rs Yl9mbHVzaCk7CisgICAgICAgICAgICBmbHVzaF90bGJfbWFzaygmbWFzayk7CisgICAgICAgIH0K KyAgICB9CiAgICAgYS0+bnJfZG9uZSA9IGk7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24v cGFnZV9hbGxvYy5jIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMKaW5kZXggMThmZjZjZi4uZTAy ODNmYyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMKKysrIGIveGVuL2NvbW1v bi9wYWdlX2FsbG9jLmMKQEAgLTgyNyw3ICs4MjcsOCBAQCBzdGF0aWMgc3RydWN0IHBhZ2VfaW5m byAqYWxsb2NfaGVhcF9wYWdlcygKICAgICAgICAgQlVHX09OKHBnW2ldLmNvdW50X2luZm8gIT0g UEdDX3N0YXRlX2ZyZWUpOwogICAgICAgICBwZ1tpXS5jb3VudF9pbmZvID0gUEdDX3N0YXRlX2lu dXNlOwogCi0gICAgICAgIGlmICggcGdbaV0udS5mcmVlLm5lZWRfdGxiZmx1c2ggJiYKKyAgICAg ICAgaWYgKCAhKG1lbWZsYWdzICYgTUVNRl9ub190bGJmbHVzaCkgJiYKKyAgICAgICAgICAgICBw Z1tpXS51LmZyZWUubmVlZF90bGJmbHVzaCAmJgogICAgICAgICAgICAgIChwZ1tpXS50bGJmbHVz aF90aW1lc3RhbXAgPD0gdGxiZmx1c2hfY3VycmVudF90aW1lKCkpICYmCiAgICAgICAgICAgICAg KCFuZWVkX3RsYmZsdXNoIHx8CiAgICAgICAgICAgICAgIChwZ1tpXS50bGJmbHVzaF90aW1lc3Rh bXAgPiB0bGJmbHVzaF90aW1lc3RhbXApKSApCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVk dWxlLmMgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKaW5kZXggMzJhMzAwZi4uNTkzNTQxYSAxMDA2 NDQKLS0tIGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jCisrKyBiL3hlbi9jb21tb24vc2NoZWR1bGUu YwpAQCAtMTM3Niw2ICsxMzc2LDExIEBAIHN0YXRpYyB2b2lkIHNjaGVkdWxlKHZvaWQpCiAKICAg ICBuZXh0ID0gbmV4dF9zbGljZS50YXNrOwogCisgICAgLyogU2V0IGFscmVhZHlfc2NoZWR1bGVk IHRvIDEgd2hlbiB0aGlzIGRvbWFpbiBnZXRzIHNjaGVkdWxlZCBmb3IgdGhlCisgICAgICogZmly c3QgdGltZSAqLworICAgIGlmICggbmV4dC0+ZG9tYWluLT5hbHJlYWR5X3NjaGVkdWxlZCA9PSAw ICkKKyAgICAgICAgbmV4dC0+ZG9tYWluLT5hbHJlYWR5X3NjaGVkdWxlZCA9IDE7CisKICAgICBz ZC0+Y3VyciA9IG5leHQ7CiAKICAgICBpZiAoIG5leHRfc2xpY2UudGltZSA+PSAwICkgLyogLXZl IG1lYW5zIG5vIGxpbWl0ICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vbW0uaCBiL3hl bi9pbmNsdWRlL3hlbi9tbS5oCmluZGV4IDU4YmMwYjguLjg4MGNhODggMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL3hlbi9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9tbS5oCkBAIC0yMjEsNiAr MjIxLDggQEAgc3RydWN0IG5wZmVjIHsKICNkZWZpbmUgIE1FTUZfZXhhY3Rfbm9kZSAgKDFVPDxf TUVNRl9leGFjdF9ub2RlKQogI2RlZmluZSBfTUVNRl9ub19vd25lciAgICA1CiAjZGVmaW5lICBN RU1GX25vX293bmVyICAgICgxVTw8X01FTUZfbm9fb3duZXIpCisjZGVmaW5lIF9NRU1GX25vX3Rs YmZsdXNoIDYKKyNkZWZpbmUgIE1FTUZfbm9fdGxiZmx1c2ggKDFVPDxfTUVNRl9ub190bGJmbHVz aCkKICNkZWZpbmUgX01FTUZfbm9kZSAgICAgICAgOAogI2RlZmluZSAgTUVNRl9ub2RlX21hc2sg ICAoKDFVIDw8ICg4ICogc2l6ZW9mKG5vZGVpZF90KSkpIC0gMSkKICNkZWZpbmUgIE1FTUZfbm9k ZShuKSAgICAgKCgoKG4pICsgMSkgJiBNRU1GX25vZGVfbWFzaykgPDwgX01FTUZfbm9kZSkKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVk LmgKaW5kZXggMmY5YzE1Zi4uY2JkODMyOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3Nj aGVkLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKQEAgLTQ3NCw2ICs0NzQsOSBAQCBz dHJ1Y3QgZG9tYWluCiAgICAgICAgIHVuc2lnbmVkIGludCBndWVzdF9yZXF1ZXN0X2VuYWJsZWQg ICAgICAgOiAxOwogICAgICAgICB1bnNpZ25lZCBpbnQgZ3Vlc3RfcmVxdWVzdF9zeW5jICAgICAg ICAgIDogMTsKICAgICB9IG1vbml0b3I7CisKKyAgICAvKiBzZXQgdG8gMSB0aGUgZmlyc3QgdGlt ZSB0aGlzIGRvbWFpbiBnZXRzIHNjaGVkdWxlZC4gKi8KKyAgICBib29sX3QgYWxyZWFkeV9zY2hl ZHVsZWQ7CiB9OwogCiAvKiBQcm90ZWN0IHVwZGF0ZXMvcmVhZHMgKHJlc3AuKSBvZiBkb21haW5f bGlzdCBhbmQgZG9tYWluX2hhc2guICovCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=