From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v3] mm: Don't scrub pages while holding heap lock in alloc_heap_pages() Date: Wed, 6 Sep 2017 11:33:52 -0400 Message-ID: <1504712032-27706-1-git-send-email-boris.ostrovsky@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, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com, Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org SW5zdGVhZCwgcHJlc2VydmUgUEdDX25lZWRfc2NydWIgYml0IHdoZW4gc2V0dGluZyBQR0Nfc3Rh dGVfaW51c2UKc3RhdGUgd2hpbGUgc3RpbGwgdW5kZXIgdGhlIGxvY2sgYW5kIGNsZWFyIHRob3Nl IHBhZ2VzIGxhdGVyLgoKTm90ZSB0aGF0IHdlIHN0aWxsIG5lZWQgdG8gZ3J1YiB0aGUgbG9jayB3 aGVuIGNsZWFyaW5nIFBHQ19uZWVkX3NjcnViCmJpdCBzaW5jZSBjb3VudF9pbmZvIG1pZ2h0IGJl IHVwZGF0ZWQgZHVyaW5nIE1DRSBoYW5kbGluZyBpbgptYXJrX3BhZ2Vfb2ZmbGluZSgpLgoKU2ln bmVkLW9mZi1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4K LS0tCnYzOgoqIENhbGwgY2hlY2tfb25lX3BhZ2UoKSBvbmx5IGlmIF9QR0NfbmVlZF9zY3J1YiBp cyBub3Qgc2V0LgoqIEFmdGVyIG1vcmUgdGhpbmtpbmcgSSBkZWNpZGVkIHRvIGtlZXAgc2N1Yl9k ZWJ1ZyBjaGVjazogdGhlIGZhbHNlCiAgcG9zaXRpdmUgaXNzdWUgdGhhdCBJIHdhcyBjb25jZXJu ZWQgYWJvdXQgaXMgYm9ndXM6IHdlIGFyZSBjaGVja2luZwogIHdoZXRoZXIgYW4gdW5zY3J1YmJl ZCBwYWdlIGlzIGFjY2lkZW50YWxseSBnaXZlbiBvdXQgc28gdGhlIG9ubHkKICBwb3RlbnRpYWwg cHJvYmxlbSBoZXJlIHdvdWxkIGJlIHVzIG1pc3NpbmcgdGhlIGNhc2Ugd2hlcmUgYSBndWVzdAog IGZpbGxlZCBhIHBhZ2Ugd2l0aCBjbGVhbiBwYXR0ZXJuICphbmQqIHdlIGZvciBzb21lIHJlYXNv biBkaWRuJ3QKICBzY3J1YiBpdC4gU28gdGhlIHRlc3QgaXMgbm90IHBlcmZlY3QgaW4gdGhhdCBy ZXNwZWN0LCBidXQgdGhhdCdzIGl0LgoKIHhlbi9jb21tb24vcGFnZV9hbGxvYy5jIHwgNDMgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDMzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21t b24vcGFnZV9hbGxvYy5jIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMKaW5kZXggZGJhZDFlMS4u YjUyNDNmYyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMKKysrIGIveGVuL2Nv bW1vbi9wYWdlX2FsbG9jLmMKQEAgLTg2MCw2ICs4NjAsNyBAQCBzdGF0aWMgc3RydWN0IHBhZ2Vf aW5mbyAqYWxsb2NfaGVhcF9wYWdlcygKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKICAgICBi b29sIG5lZWRfdGxiZmx1c2ggPSBmYWxzZTsKICAgICB1aW50MzJfdCB0bGJmbHVzaF90aW1lc3Rh bXAgPSAwOworICAgIHVuc2lnbmVkIGludCBkaXJ0eV9jbnQgPSAwOwogCiAgICAgLyogTWFrZSBz dXJlIHRoZXJlIGFyZSBlbm91Z2ggYml0cyBpbiBtZW1mbGFncyBmb3Igbm9kZUlELiAqLwogICAg IEJVSUxEX0JVR19PTigoX01FTUZfYml0cyAtIF9NRU1GX25vZGUpIDwgKDggKiBzaXplb2Yobm9k ZWlkX3QpKSk7CkBAIC05NTMsMTQgKzk1NCwxMSBAQCBzdGF0aWMgc3RydWN0IHBhZ2VfaW5mbyAq YWxsb2NfaGVhcF9wYWdlcygKICAgICAgICAgLyogUmVmZXJlbmNlIGNvdW50IG11c3QgY29udGlu dW91c2x5IGJlIHplcm8gZm9yIGZyZWUgcGFnZXMuICovCiAgICAgICAgIEJVR19PTigocGdbaV0u Y291bnRfaW5mbyAmIH5QR0NfbmVlZF9zY3J1YikgIT0gUEdDX3N0YXRlX2ZyZWUpOwogCi0gICAg ICAgIGlmICggdGVzdF9iaXQoX1BHQ19uZWVkX3NjcnViLCAmcGdbaV0uY291bnRfaW5mbykgKQot ICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoICEobWVtZmxhZ3MgJiBNRU1GX25vX3NjcnViKSAp Ci0gICAgICAgICAgICAgICAgc2NydWJfb25lX3BhZ2UoJnBnW2ldKTsKLSAgICAgICAgICAgIG5v ZGVfbmVlZF9zY3J1Yltub2RlXS0tOwotICAgICAgICB9CisgICAgICAgIC8qIFBHQ19uZWVkX3Nj cnViIGNhbiBvbmx5IGJlIHNldCBpZiBmaXJzdF9kaXJ0eSBpcyB2YWxpZCAqLworICAgICAgICBB U1NFUlQoZmlyc3RfZGlydHkgIT0gSU5WQUxJRF9ESVJUWV9JRFggfHwgIShwZ1tpXS5jb3VudF9p bmZvICYgUEdDX25lZWRfc2NydWIpKTsKIAotICAgICAgICBwZ1tpXS5jb3VudF9pbmZvID0gUEdD X3N0YXRlX2ludXNlOworICAgICAgICAvKiBQcmVzZXJ2ZSBQR0NfbmVlZF9zY3J1YiBzbyB3ZSBj YW4gY2hlY2sgaXQgYWZ0ZXIgbG9jayBpcyBkcm9wcGVkLiAqLworICAgICAgICBwZ1tpXS5jb3Vu dF9pbmZvID0gUEdDX3N0YXRlX2ludXNlIHwgKHBnW2ldLmNvdW50X2luZm8gJiBQR0NfbmVlZF9z Y3J1Yik7CiAKICAgICAgICAgaWYgKCAhKG1lbWZsYWdzICYgTUVNRl9ub190bGJmbHVzaCkgKQog ICAgICAgICAgICAgYWNjdW11bGF0ZV90bGJmbHVzaCgmbmVlZF90bGJmbHVzaCwgJnBnW2ldLApA QCAtOTc0LDEzICs5NzIsMzggQEAgc3RhdGljIHN0cnVjdCBwYWdlX2luZm8gKmFsbG9jX2hlYXBf cGFnZXMoCiAgICAgICAgICAqIGd1ZXN0IGNhbiBjb250cm9sIGl0cyBvd24gdmlzaWJpbGl0eSBv Zi90aHJvdWdoIHRoZSBjYWNoZS4KICAgICAgICAgICovCiAgICAgICAgIGZsdXNoX3BhZ2VfdG9f cmFtKHBhZ2VfdG9fbWZuKCZwZ1tpXSksICEobWVtZmxhZ3MgJiBNRU1GX25vX2ljYWNoZV9mbHVz aCkpOwotCi0gICAgICAgIGlmICggIShtZW1mbGFncyAmIE1FTUZfbm9fc2NydWIpICkKLSAgICAg ICAgICAgIGNoZWNrX29uZV9wYWdlKCZwZ1tpXSk7CiAgICAgfQogCiAgICAgc3Bpbl91bmxvY2so JmhlYXBfbG9jayk7CiAKKyAgICBpZiAoIGZpcnN0X2RpcnR5ICE9IElOVkFMSURfRElSVFlfSURY IHx8CisgICAgICAgICAoc2NydWJfZGVidWcgJiYgIShtZW1mbGFncyAmIE1FTUZfbm9fc2NydWIp KSApCisgICAgeworICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVSA8PCBvcmRlcik7IGkrKyAp CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggdGVzdF9iaXQoX1BHQ19uZWVkX3NjcnViLCAm cGdbaV0uY291bnRfaW5mbykgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgg IShtZW1mbGFncyAmIE1FTUZfbm9fc2NydWIpICkKKyAgICAgICAgICAgICAgICAgICAgc2NydWJf b25lX3BhZ2UoJnBnW2ldKTsKKworICAgICAgICAgICAgICAgIGRpcnR5X2NudCsrOworCisgICAg ICAgICAgICAgICAgc3Bpbl9sb2NrKCZoZWFwX2xvY2spOworICAgICAgICAgICAgICAgIHBnW2ld LmNvdW50X2luZm8gJj0gflBHQ19uZWVkX3NjcnViOworICAgICAgICAgICAgICAgIHNwaW5fdW5s b2NrKCZoZWFwX2xvY2spOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAoICEo bWVtZmxhZ3MgJiBNRU1GX25vX3NjcnViKSApCisgICAgICAgICAgICAgICAgY2hlY2tfb25lX3Bh Z2UoJnBnW2ldKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICggZGlydHlfY250ICkKKyAgICAg ICAgeworICAgICAgICAgICAgc3Bpbl9sb2NrKCZoZWFwX2xvY2spOworICAgICAgICAgICAgbm9k ZV9uZWVkX3NjcnViW25vZGVdIC09IGRpcnR5X2NudDsKKyAgICAgICAgICAgIHNwaW5fdW5sb2Nr KCZoZWFwX2xvY2spOworICAgICAgICB9CisgICAgfQorCiAgICAgaWYgKCBuZWVkX3RsYmZsdXNo ICkKICAgICAgICAgZmlsdGVyZWRfZmx1c2hfdGxiX21hc2sodGxiZmx1c2hfdGltZXN0YW1wKTsK IAotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=