From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boqun Feng Subject: [PATCH v2 06/17] xen: mm: introduce non-scrubbable pages Date: Mon, 4 Dec 2017 08:15:17 +0800 Message-ID: <20171204001528.1342-7-boqun.feng@intel.com> References: <20171204001528.1342-1-boqun.feng@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171204001528.1342-1-boqun.feng@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Kevin Tian , Stefano Stabellini , Wei Liu , Jun Nakajima , George Dunlap , Andrew Cooper , Ian Jackson , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Tim Deegan , kai.huang@linux.intel.com, Julien Grall , Jan Beulich , David Scott , Boqun Feng List-Id: xen-devel@lists.xenproject.org V2UgYXJlIGFib3V0IHRvIHVzZSB0aGUgZXhpc3RpbmcgaGVhcCBhbGxvY2F0b3IgZm9yIEVQQyBw YWdlIG1hbmFnZW1lbnQsCmFuZCB3ZSBuZWVkIHRvIHByZXZlbnQgRVBDIHBhZ2VzIGZyb20gYmVp bmcgc2NydWJiZWQgb3IgbWVyZ2VkIHdpdGgKbm9ybWFsIG1lbW9yeSBwYWdlcywgYmVjYXVzZSBF UEMgcGFnZXMgY2FuIG5vdCBiZSBhY2Nlc3NlZCBvdXRzaWRlCkVuY2xhdmVzLgoKVG8gZG8gc28s IHdlIHVzZSBvbmUgYml0IGluICdwYWdlX2luZm86OnU6OmZyZWUnIHRvIHJlY29yZCB3aGV0aGVy IGEKcGFnZSBjb3VsZCBiZSBzY3J1YmJlZCBvciBub3QuICdwYWdlX3NjcnViYmFibGUnIGlzIGFs c28gaW50cm9kdWNlZCB0bwp0ZXN0IHRoaXMgYml0LCBob3dldmVyLCBpdCB3aWxsIGFsd2F5cyBy ZXR1cm4gJ3RydWUnIGZvciBhcmNoaXRlY3R1cmVzCndpdGhvdXQgdW5zY3J1YmJhYmxlIHBhZ2Vz IGxpa2UgRVBDIHBhZ2VzIGZvciBub3coaS5lLiBBUk0pLgoKQmVzaWRlcywgZHVyaW5nIHRoZSBw YWdlIG1lcmdpbmcgc3RhZ2UsIHdlIGNhbiBub3QgYWxsb3cgc2NydWJiYWJsZQpwYWdlcyBhbmQg dW5zY3J1YmJhYmxlIHBhZ2VzIHRvIGdldCBtZXJnZWQsIHRoZXJlZm9yZSAncGFnZV9tZXJnZWFi bGUnCmlzIGludHJvZHVjZWQsIGFuZCBpdCBzaW1wbHkgdGVzdCB3aGV0aGVyIHR3byBwYWdlcyBo YXZlIHRoZSBzYW1lCnNjcnViYmFibGUgYXR0cmlidXRlcy4KCkluICdzY3J1Yl9vbmVfcGFnZScs IHNjcnViYmluZyBpcyBhYm9ydGVkIG9uY2UgdGhlIHBhZ2UgaXMgZm91bmQKdW5zY3J1YmJhYmxl LgoKU2lnbmVkLW9mZi1ieTogQm9xdW4gRmVuZyA8Ym9xdW4uZmVuZ0BpbnRlbC5jb20+Ci0tLQog eGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMgIHwgMTAgKysrKysrKy0tLQogeGVuL2luY2x1ZGUvYXNt LWFybS9tbS5oIHwgIDcgKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIHwgIDcgKysr KysrKwogMyBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jIGIveGVuL2NvbW1vbi9wYWdlX2Fs bG9jLmMKaW5kZXggNTYxNmE4MjI2Mzc2Li4yMjBkN2Q5MWM2MmIgMTAwNjQ0Ci0tLSBhL3hlbi9j b21tb24vcGFnZV9hbGxvYy5jCisrKyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCkBAIC0xMzY0 LDYgKzEzNjQsOCBAQCBzdGF0aWMgdm9pZCBmcmVlX2hlYXBfcGFnZXMoCiAgICAgICAgIGlmICgg cGdbaV0udS5mcmVlLm5lZWRfdGxiZmx1c2ggKQogICAgICAgICAgICAgcGFnZV9zZXRfdGxiZmx1 c2hfdGltZXN0YW1wKCZwZ1tpXSk7CiAKKyAgICAgICAgcGdbaV0udS5mcmVlLnNjcnViYmFibGUg PSB0cnVlOworCiAgICAgICAgIC8qIFRoaXMgcGFnZSBpcyBub3QgYSBndWVzdCBmcmFtZSBhbnkg bW9yZS4gKi8KICAgICAgICAgcGFnZV9zZXRfb3duZXIoJnBnW2ldLCBOVUxMKTsgLyogc2V0X2dw Zm5fZnJvbV9tZm4gc25vb3BzIHBnIG93bmVyICovCiAgICAgICAgIHNldF9ncGZuX2Zyb21fbWZu KG1mbiArIGksIElOVkFMSURfTTJQX0VOVFJZKTsKQEAgLTE0MDIsNyArMTQwNCw4IEBAIHN0YXRp YyB2b2lkIGZyZWVfaGVhcF9wYWdlcygKICAgICAgICAgICAgIGlmICggIW1mbl92YWxpZChfbWZu KHBhZ2VfdG9fbWZuKHByZWRlY2Vzc29yKSkpIHx8CiAgICAgICAgICAgICAgICAgICFwYWdlX3N0 YXRlX2lzKHByZWRlY2Vzc29yLCBmcmVlKSB8fAogICAgICAgICAgICAgICAgICAoUEZOX09SREVS KHByZWRlY2Vzc29yKSAhPSBvcmRlcikgfHwKLSAgICAgICAgICAgICAgICAgKHBoeXNfdG9fbmlk KHBhZ2VfdG9fbWFkZHIocHJlZGVjZXNzb3IpKSAhPSBub2RlKSApCisgICAgICAgICAgICAgICAg IChwaHlzX3RvX25pZChwYWdlX3RvX21hZGRyKHByZWRlY2Vzc29yKSkgIT0gbm9kZSkgfHwKKyAg ICAgICAgICAgICAgICAgIXBhZ2VfbWVyZ2VhYmxlKHByZWRlY2Vzc29yLCBwZykgKQogICAgICAg ICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICBjaGVja19hbmRfc3RvcF9zY3J1YihwcmVk ZWNlc3Nvcik7CkBAIC0xNDI1LDcgKzE0MjgsOCBAQCBzdGF0aWMgdm9pZCBmcmVlX2hlYXBfcGFn ZXMoCiAgICAgICAgICAgICBpZiAoICFtZm5fdmFsaWQoX21mbihwYWdlX3RvX21mbihzdWNjZXNz b3IpKSkgfHwKICAgICAgICAgICAgICAgICAgIXBhZ2Vfc3RhdGVfaXMoc3VjY2Vzc29yLCBmcmVl KSB8fAogICAgICAgICAgICAgICAgICAoUEZOX09SREVSKHN1Y2Nlc3NvcikgIT0gb3JkZXIpIHx8 Ci0gICAgICAgICAgICAgICAgIChwaHlzX3RvX25pZChwYWdlX3RvX21hZGRyKHN1Y2Nlc3Nvcikp ICE9IG5vZGUpICkKKyAgICAgICAgICAgICAgICAgKHBoeXNfdG9fbmlkKHBhZ2VfdG9fbWFkZHIo c3VjY2Vzc29yKSkgIT0gbm9kZSkgfHwKKyAgICAgICAgICAgICAgICAgIXBhZ2VfbWVyZ2VhYmxl KHN1Y2Nlc3NvciwgcGcpICkKICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAg Y2hlY2tfYW5kX3N0b3Bfc2NydWIoc3VjY2Vzc29yKTsKQEAgLTIzNzksNyArMjM4Myw3IEBAIF9f aW5pdGNhbGwocGFnZWFsbG9jX2tleWhhbmRsZXJfaW5pdCk7CiAKIHZvaWQgc2NydWJfb25lX3Bh Z2Uoc3RydWN0IHBhZ2VfaW5mbyAqcGcpCiB7Ci0gICAgaWYgKCB1bmxpa2VseShwZy0+Y291bnRf aW5mbyAmIFBHQ19icm9rZW4pICkKKyAgICBpZiAoICFwYWdlX3NjcnViYmFibGUocGcpIHx8IHVu bGlrZWx5KHBnLT5jb3VudF9pbmZvICYgUEdDX2Jyb2tlbikgKQogICAgICAgICByZXR1cm47CiAK ICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL21tLmggYi94 ZW4vaW5jbHVkZS9hc20tYXJtL21tLmgKaW5kZXggYWQyZjJhNDNkY2JjLi5jNzE1ZTIyOTA1MTAg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW0uaAorKysgYi94ZW4vaW5jbHVkZS9h c20tYXJtL21tLmgKQEAgLTU1LDYgKzU1LDkgQEAgc3RydWN0IHBhZ2VfaW5mbwogICAgICAgICAg ICAgICAgIC8qIERvIFRMQnMgbmVlZCBmbHVzaGluZyBmb3Igc2FmZXR5IGJlZm9yZSBuZXh0IHBh Z2UgdXNlPyAqLwogICAgICAgICAgICAgICAgIGJvb2wgbmVlZF90bGJmbHVzaDoxOwogCisgICAg ICAgICAgICAgICAgLyogQ291bGQgdGhpcyBwYWdlIGJlIHNjcnViYmVkIHdoZW4gaXQncyBmcmVl PyAqLworICAgICAgICAgICAgICAgIGJvb2wgc2NydWJiYWJsZToxOworCiAjZGVmaW5lIEJVRERZ X05PVF9TQ1JVQkJJTkcgICAgMAogI2RlZmluZSBCVUREWV9TQ1JVQkJJTkcgICAgICAgIDEKICNk ZWZpbmUgQlVERFlfU0NSVUJfQUJPUlQgICAgICAyCkBAIC0xNTAsNiArMTUzLDEwIEBAIGV4dGVy biB2YWRkcl90IHhlbmhlYXBfdmlydF9zdGFydDsKICAgICAobWZuX3ZhbGlkKF9tZm4obWZuKSkg JiYgaXNfeGVuX2hlYXBfcGFnZShfX21mbl90b19wYWdlKG1mbikpKQogI2VuZGlmCiAKKyNkZWZp bmUgcGFnZV9zY3J1YmJhYmxlKF9wKSAgICAgICAgIHRydWUKKworI2RlZmluZSBwYWdlX21lcmdl YWJsZShfcDEsIF9wMikgICAgdHJ1ZQorCiAjZGVmaW5lIGlzX3hlbl9maXhlZF9tZm4obWZuKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICgocGZuX3RvX3BhZGRyKG1m bikgPj0gdmlydF90b19tYWRkcigmX3N0YXJ0KSkgJiYgICAgICAgXAogICAgICAocGZuX3RvX3Bh ZGRyKG1mbikgPD0gdmlydF90b19tYWRkcigmX2VuZCkpKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9tbS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCmluZGV4IDc3ZTNjM2Jh NjhkMS4uYjBmMGVhMGE4YjVkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgK KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCkBAIC05OCw2ICs5OCw4IEBAIHN0cnVjdCBw YWdlX2luZm8KIAogICAgICAgICAgICAgICAgIC8qIERvIFRMQnMgbmVlZCBmbHVzaGluZyBmb3Ig c2FmZXR5IGJlZm9yZSBuZXh0IHBhZ2UgdXNlPyAqLwogICAgICAgICAgICAgICAgIGJvb2wgbmVl ZF90bGJmbHVzaDsKKyAgICAgICAgICAgICAgICAvKiBDb3VsZCB0aGlzIHBhZ2UgYmUgc2NydWJi ZWQgd2hlbiBpdCdzIGZyZWU/ICovCisgICAgICAgICAgICAgICAgYm9vbCBzY3J1YmJhYmxlOwog CiAjZGVmaW5lIEJVRERZX05PVF9TQ1JVQkJJTkcgICAgMAogI2RlZmluZSBCVUREWV9TQ1JVQkJJ TkcgICAgICAgIDEKQEAgLTI4Myw2ICsyODUsMTEgQEAgc3RydWN0IHBhZ2VfaW5mbwogLyogT09T IGZpeHVwIGVudHJpZXMgKi8KICNkZWZpbmUgU0hBRE9XX09PU19GSVhVUFMgMgogCisjZGVmaW5l IHBhZ2Vfc2NydWJiYWJsZShfcCkgICAgICgoX3ApLT51LmZyZWUuc2NydWJiYWJsZSkKKworI2Rl ZmluZSBwYWdlX21lcmdlYWJsZShfcDEsIF9wMikgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorICAgIChwYWdlX3NjcnViYmFibGUoX3AxKSA9PSBwYWdlX3NjcnViYmFi bGUoX3AyKSkKKwogI2RlZmluZSBwYWdlX2dldF9vd25lcihfcCkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICgoc3RydWN0IGRvbWFpbiAqKSgoX3Ap LT52LmludXNlLl9kb21haW4gPyAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAg ICAgICAgICAgICAgICBwZHhfdG9fdmlydCgoX3ApLT52LmludXNlLl9kb21haW4pIDogTlVMTCkp Ci0tIAoyLjE1LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs