From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergey Dyasli Subject: [PATCH v3] mm/page_alloc: make bootscrub happen in idle-loop Date: Wed, 7 Nov 2018 11:11:49 +0000 Message-ID: <20181107111149.14842-1-sergey.dyasli@citrix.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.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Sergey Dyasli , Wei Liu , George Dunlap , Andrew Cooper , Julien Grall , Jan Beulich , Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org U2NydWJiaW5nIFJBTSBkdXJpbmcgYm9vdCBtYXkgdGFrZSBhIGxvbmcgdGltZSBvbiBtYWNoaW5l cyB3aXRoIGxvdHMKb2YgUkFNLiBBZGQgJ2lkbGUnIG9wdGlvbiB0byBib290c2NydWIgd2hpY2gg bWFya3MgYWxsIHBhZ2VzIGRpcnR5CmluaXRpYWxseSBzbyB0aGV5IHdpbGwgZXZlbnR1YWxseSBi ZSBzY3J1YmJlZCBpbiBpZGxlLWxvb3Agb24gZXZlcnkKb25saW5lIENQVS4KCkl0J3MgZ3VhcmFu dGVlZCB0aGF0IHRoZSBhbGxvY2F0b3Igd2lsbCByZXR1cm4gc2NydWJiZWQgcGFnZXMgYnkgZG9p bmcKZWFnZXIgc2NydWJiaW5nIGR1cmluZyBhbGxvY2F0aW9uICh1bmxlc3MgTUVNRl9ub19zY3J1 YiB3YXMgcHJvdmlkZWQpLgoKVXNlIHRoZSBuZXcgJ2lkbGUnIG9wdGlvbiBhcyB0aGUgZGVmYXVs dCBvbmUuCgpTaWduZWQtb2ZmLWJ5OiBTZXJnZXkgRHlhc2xpIDxzZXJnZXkuZHlhc2xpQGNpdHJp eC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQp2 MiAtLT4gdjM6Ci0gUmVtb3ZlZCAiPSAwIiBmcm9tIGVudW0gYm9vdHNjcnViX21vZGUKLSBSZW1v dmVkIG51bV9vbmxpbmVfbm9kZXMoKSBmcm9tIHByaW50aygpCi0gQWRkZWQgUmV2aWV3ZWQtYnkK CkNDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDQzogQm9yaXMg T3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4KQ0M6IEdlb3JnZSBEdW5sYXAg PEdlb3JnZS5EdW5sYXBAZXUuY2l0cml4LmNvbT4KQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNDOiBXZWkg TGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIGRvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5l Lm1hcmtkb3duIHwgIDkgKysrKy0KIHhlbi9jb21tb24vcGFnZV9hbGxvYy5jICAgICAgICAgICAg IHwgNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgNjQg aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21pc2MveGVu LWNvbW1hbmQtbGluZS5tYXJrZG93biBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtk b3duCmluZGV4IDJjNzA0NmViODYuLjkwMjhiY2RlMmUgMTAwNjQ0Ci0tLSBhL2RvY3MvbWlzYy94 ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5l Lm1hcmtkb3duCkBAIC0yMjcsMTQgKzIyNywxOSBAQCB0aGF0IGJ5dGUgYDB4MTIzNDU2NzhgIGlz IGJhZCwgeW91IHdvdWxkIHBsYWNlIGBiYWRwYWdlPTB4MTIzNDVgIG9uCiBYZW4ncyBjb21tYW5k IGxpbmUuCiAKICMjIyBib290c2NydWIKLT4gYD0gPGJvb2xlYW4+YAorPiBgPSBpZGxlIHwgPGJv b2xlYW4+YAogCi0+IERlZmF1bHQ6IGB0cnVlYAorPiBEZWZhdWx0OiBgaWRsZWAKIAogU2NydWIg ZnJlZSBSQU0gZHVyaW5nIGJvb3QuICBUaGlzIGlzIGEgc2FmZXR5IGZlYXR1cmUgdG8gcHJldmVu dAogYWNjaWRlbnRhbGx5IGxlYWtpbmcgc2Vuc2l0aXZlIFZNIGRhdGEgaW50byBvdGhlciBWTXMg aWYgWGVuIGNyYXNoZXMKIGFuZCByZWJvb3RzLgogCitJbiBgaWRsZWAgbW9kZSwgUkFNIGlzIHNj cnViYmVkIGluIGJhY2tncm91bmQgb24gYWxsIENQVXMgZHVyaW5nIGlkbGUtbG9vcAord2l0aCBh IGd1YXJhbnRlZSB0aGF0IG1lbW9yeSBhbGxvY2F0aW9ucyBhbHdheXMgcHJvdmlkZSBzY3J1YmJl ZCBwYWdlcy4KK1RoaXMgb3B0aW9uIHJlZHVjZXMgYm9vdCB0aW1lIG9uIG1hY2hpbmVzIHdpdGgg YSBsYXJnZSBhbW91bnQgb2YgUkFNIHdoaWxlCitzdGlsbCBwcm92aWRpbmcgc2VjdXJpdHkgYmVu ZWZpdHMuCisKICMjIyBib290c2NydWJcX2NodW5rCiA+IGA9IDxzaXplPmAKIApkaWZmIC0tZ2l0 IGEveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMgYi94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYwppbmRl eCAxNmUxYjBjMzU3Li5mNTg3ZDJlODFiIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3BhZ2VfYWxs b2MuYworKysgYi94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYwpAQCAtMTYxLDggKzE2MSw0MiBAQCBz dHJpbmdfcGFyYW0oImJhZHBhZ2UiLCBvcHRfYmFkcGFnZSk7CiAvKgogICogbm8tYm9vdHNjcnVi IC0+IEZyZWUgcGFnZXMgYXJlIG5vdCB6ZXJvZWQgZHVyaW5nIGJvb3QuCiAgKi8KLXN0YXRpYyBi b29sX3Qgb3B0X2Jvb3RzY3J1YiBfX2luaXRkYXRhID0gMTsKLWJvb2xlYW5fcGFyYW0oImJvb3Rz Y3J1YiIsIG9wdF9ib290c2NydWIpOworZW51bSBib290c2NydWJfbW9kZSB7CisgICAgQk9PVFND UlVCX09GRiwKKyAgICBCT09UU0NSVUJfT04sCisgICAgQk9PVFNDUlVCX0lETEUsCit9Oworc3Rh dGljIGVudW0gYm9vdHNjcnViX21vZGUgX19pbml0ZGF0YSBvcHRfYm9vdHNjcnViID0gQk9PVFND UlVCX0lETEU7CitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9ib290c2NydWJfcGFyYW0oY29uc3Qg Y2hhciAqcykKK3sKKyAgICAvKiBJbnRlcnByZXQgJ2Jvb3RzY3J1YicgYWxvbmUgaW4gaXRzIHBv c2l0aXZlIGJvb2xlYW4gZm9ybSAqLworICAgIGlmICggKnMgPT0gJ1wwJyApCisgICAgeworICAg ICAgICBvcHRfYm9vdHNjcnViID0gQk9PVFNDUlVCX09OOworICAgICAgICByZXR1cm4gMDsKKyAg ICB9CisKKyAgICBzd2l0Y2ggKCBwYXJzZV9ib29sKHMsIE5VTEwpICkKKyAgICB7CisgICAgY2Fz ZSAwOgorICAgICAgICBvcHRfYm9vdHNjcnViID0gQk9PVFNDUlVCX09GRjsKKyAgICAgICAgYnJl YWs7CisKKyAgICBjYXNlIDE6CisgICAgICAgIG9wdF9ib290c2NydWIgPSBCT09UU0NSVUJfT047 CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgaWYgKCAhc3RyY21wKHMs ICJpZGxlIikgKQorICAgICAgICAgICAgb3B0X2Jvb3RzY3J1YiA9IEJPT1RTQ1JVQl9JRExFOwor ICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAgYnJlYWs7 CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CitjdXN0b21fcGFyYW0oImJvb3RzY3J1YiIsIHBh cnNlX2Jvb3RzY3J1Yl9wYXJhbSk7CiAKIC8qCiAgKiBib290c2NydWJfY2h1bmsgLT4gQW1vdW50 IG9mIGJ5dGVzIHRvIHNjcnViIGxvY2tzdGVwIG9uIG5vbi1TTVQgQ1BVcwpAQCAtMTcyNiw2ICsx NzYwLDcgQEAgc3RhdGljIHZvaWQgaW5pdF9oZWFwX3BhZ2VzKAogICAgIHN0cnVjdCBwYWdlX2lu Zm8gKnBnLCB1bnNpZ25lZCBsb25nIG5yX3BhZ2VzKQogewogICAgIHVuc2lnbmVkIGxvbmcgaTsK KyAgICBib29sIGlkbGVfc2NydWIgPSBmYWxzZTsKIAogICAgIC8qCiAgICAgICogU29tZSBwYWdl cyBtYXkgbm90IGdvIHRocm91Z2ggdGhlIGJvb3QgYWxsb2NhdG9yIChlLmcgcmVzZXJ2ZWQKQEAg LTE3MzcsNiArMTc3Miw5IEBAIHN0YXRpYyB2b2lkIGluaXRfaGVhcF9wYWdlcygKICAgICBmaXJz dF92YWxpZF9tZm4gPSBtZm5fbWluKHBhZ2VfdG9fbWZuKHBnKSwgZmlyc3RfdmFsaWRfbWZuKTsK ICAgICBzcGluX3VubG9jaygmaGVhcF9sb2NrKTsKIAorICAgIGlmICggc3lzdGVtX3N0YXRlIDwg U1lTX1NUQVRFX2FjdGl2ZSAmJiBvcHRfYm9vdHNjcnViID09IEJPT1RTQ1JVQl9JRExFICkKKyAg ICAgICAgaWRsZV9zY3J1YiA9IHRydWU7CisKICAgICBmb3IgKCBpID0gMDsgaSA8IG5yX3BhZ2Vz OyBpKysgKQogICAgIHsKICAgICAgICAgdW5zaWduZWQgaW50IG5pZCA9IHBoeXNfdG9fbmlkKHBh Z2VfdG9fbWFkZHIocGcraSkpOwpAQCAtMTc2Myw3ICsxODAxLDcgQEAgc3RhdGljIHZvaWQgaW5p dF9oZWFwX3BhZ2VzKAogICAgICAgICAgICAgbnJfcGFnZXMgLT0gbjsKICAgICAgICAgfQogCi0g ICAgICAgIGZyZWVfaGVhcF9wYWdlcyhwZyArIGksIDAsIHNjcnViX2RlYnVnKTsKKyAgICAgICAg ZnJlZV9oZWFwX3BhZ2VzKHBnICsgaSwgMCwgc2NydWJfZGVidWcgfHwgaWRsZV9zY3J1Yik7CiAg ICAgfQogfQogCkBAIC0yMDM5LDggKzIwNzcsMjMgQEAgdm9pZCBfX2luaXQgaGVhcF9pbml0X2xh dGUodm9pZCkKICAgICAgKi8KICAgICBzZXR1cF9sb3dfbWVtX3ZpcnEoKTsKIAotICAgIGlmICgg b3B0X2Jvb3RzY3J1YiApCisgICAgc3dpdGNoICggb3B0X2Jvb3RzY3J1YiApCisgICAgeworICAg IGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOworICAgICAgICAvKiBGYWxs IHRocm91Z2ggKi8KKworICAgIGNhc2UgQk9PVFNDUlVCX0lETEU6CisgICAgICAgIHByaW50aygi U2NydWJiaW5nIEZyZWUgUkFNIGluIGJhY2tncm91bmRcbiIpOworICAgICAgICBicmVhazsKKwor ICAgIGNhc2UgQk9PVFNDUlVCX09OOgogICAgICAgICBzY3J1Yl9oZWFwX3BhZ2VzKCk7CisgICAg ICAgIGJyZWFrOworCisgICAgY2FzZSBCT09UU0NSVUJfT0ZGOgorICAgICAgICBicmVhazsKKyAg ICB9CiB9CiAKIAotLSAKMi4xNy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==