From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [RFC PATCH v3 16/24] ARM: NUMA: Add memory NUMA support Date: Tue, 18 Jul 2017 17:11:38 +0530 Message-ID: <1500378106-2620-17-git-send-email-vijay.kilari@gmail.com> References: <1500378106-2620-1-git-send-email-vijay.kilari@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1500378106-2620-1-git-send-email-vijay.kilari@gmail.com> 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: kevin.tian@intel.com, sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, julien.grall@arm.com, jbeulich@suse.com, Vijaya Kumar K List-Id: xen-devel@lists.xenproject.org RnJvbTogVmlqYXlhIEt1bWFyIEsgPFZpamF5YS5LdW1hckBjYXZpdW0uY29tPgoKSW1wbGVtZW50 IGFyY2hfc2FuaXRpemVfbm9kZXNfbWVtb3J5KCkgd2hpY2ggbG9va3MgYXQgYWxsIGJhbmtzCmlu IGJvb3RpbmZvLm1lbSwgdXBkYXRlIG5vZGVzW10gd2l0aCBjb3JyZXNwb25kaW5nIG5vZGVpZC4K Q2FsbCBudW1hX3NjYW5fbm9kZXMoKSBnZW5lcmljIGZ1bmN0aW9uIHdpdGggcmFtIHN0YXJ0IGFu ZAplbmQgYWRkcmVzcywgd2hpY2ggdGFrZXMgY2FyZSBvZiBmdXJ0aGVyIGNvbXB1dGluZyBtZW1u b2Rlc2hpZnQKYW5kIHBvcHVsYXRpbmcgbWVtbm9kZW1hcFtdIHVzaW5nIGdlbmVyaWMgaW1wbGVt ZW50YXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBWaWpheWEgS3VtYXIgSyA8VmlqYXlhLkt1bWFyQGNh dml1bS5jb20+Ci0tLQp2MzogLSBEcm9wcGVkIGNvbW1vbiBjb2RlIGZyb20gYXNtLWFybS9udW1h LmgKICAgIC0gUmUtdXNlZCBudW1hX2luaXRtZW1faW5pdCgpIGZyb20gY29tbW9uIGNvZGUuCi0t LQogeGVuL2FyY2gvYXJtL251bWEvbnVtYS5jIHwgNzcgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCiB4ZW4vY29tbW9uL251bWEuYyAgICAgICAgfCAxNCAr KysrKysrKysKIHhlbi9pbmNsdWRlL3hlbi9udW1hLmggICB8ICAxICsKIDMgZmlsZXMgY2hhbmdl ZCwgOTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9udW1hL251bWEuYyBiL3hlbi9hcmNoL2FybS9udW1hL251bWEuYwppbmRleCBkYzgwYWE1 Li44NTM1MmRjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vbnVtYS9udW1hLmMKKysrIGIveGVu L2FyY2gvYXJtL251bWEvbnVtYS5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8eGVuL2N0 eXBlLmg+CiAjaW5jbHVkZSA8eGVuL25vZGVtYXNrLmg+CiAjaW5jbHVkZSA8eGVuL251bWEuaD4K KyNpbmNsdWRlIDx4ZW4vcGZuLmg+CiAjaW5jbHVkZSA8YXNtL2FjcGkuaD4KIAogc3RhdGljIHVp bnQ4X3QgKCpub2RlX2Rpc3RhbmNlX2ZuKShub2RlaWRfdCBhLCBub2RlaWRfdCBiKTsKQEAgLTY0 LDkgKzY1LDY2IEBAIHZvaWQgcmVnaXN0ZXJfbm9kZV9kaXN0YW5jZSh1aW50OF90IChmbikobm9k ZWlkX3QgYSwgbm9kZWlkX3QgYikpCiAgICAgbm9kZV9kaXN0YW5jZV9mbiA9IGZuOwogfQogCiti b29sIF9faW5pdCBhcmNoX3Nhbml0aXplX25vZGVzX21lbW9yeSh2b2lkKQoreworICAgIG5vZGVt YXNrX3QgbWVtX25vZGVzX3BhcnNlZDsKKyAgICBpbnQgYmFuaywgbm9kZWlkOworICAgIHN0cnVj dCBub2RlICpuZDsKKyAgICBwYWRkcl90IHN0YXJ0LCBzaXplLCBlbmQ7CisKKyAgICBub2Rlc19j bGVhcihtZW1fbm9kZXNfcGFyc2VkKTsKKyAgICBmb3IgKCBiYW5rID0gMCA7IGJhbmsgPCBib290 aW5mby5tZW0ubnJfYmFua3M7IGJhbmsrKyApCisgICAgeworICAgICAgICBzdGFydCA9IGJvb3Rp bmZvLm1lbS5iYW5rW2JhbmtdLnN0YXJ0OworICAgICAgICBzaXplID0gYm9vdGluZm8ubWVtLmJh bmtbYmFua10uc2l6ZTsKKyAgICAgICAgZW5kID0gc3RhcnQgKyBzaXplOworCisgICAgICAgIG5v ZGVpZCA9IGdldF9tZW1fbm9kZWlkKHN0YXJ0LCBlbmQpOworICAgICAgICBpZiAoIG5vZGVpZCA+ PSBOVU1BX05PX05PREUgKQorICAgICAgICB7CisgICAgICAgICAgICBwcmludGsoWEVOTE9HX1dB Uk5JTkcKKyAgICAgICAgICAgICAgICAgICAiTlVNQTogbm9kZSBmb3IgbWVtIGJhbmsgc3RhcnQg MHglbHggLSAweCVseCBub3QgZm91bmRcbiIsCisgICAgICAgICAgICAgICAgICAgc3RhcnQsIGVu ZCk7CisKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIG5k ID0gZ2V0X251bWFfbm9kZShub2RlaWQpOworICAgICAgICBpZiAoICFub2RlX3Rlc3RfYW5kX3Nl dChub2RlaWQsIG1lbV9ub2Rlc19wYXJzZWQpICkKKyAgICAgICAgeworICAgICAgICAgICAgbmQt PnN0YXJ0ID0gc3RhcnQ7CisgICAgICAgICAgICBuZC0+ZW5kID0gZW5kOworICAgICAgICB9Cisg ICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCBzdGFydCA8IG5kLT5zdGFy dCApCisgICAgICAgICAgICAgICAgbmQtPnN0YXJ0ID0gc3RhcnQ7CisgICAgICAgICAgICBpZiAo IG5kLT5lbmQgPCBlbmQgKQorICAgICAgICAgICAgICAgIG5kLT5lbmQgPSBlbmQ7CisgICAgICAg IH0KKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IG51 bWFfcmVzZXRfbnVtYV9ub2Rlcyh2b2lkKQoreworICAgIGludCBpOworICAgIHN0cnVjdCBub2Rl ICpuZDsKKworICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKysgKQorICAgIHsK KyAgICAgICAgbmQgPSBnZXRfbnVtYV9ub2RlKGkpOworICAgICAgICBuZC0+c3RhcnQgPSAwOwor ICAgICAgICBuZC0+ZW5kID0gMDsKKyAgICB9Cit9CisKIHZvaWQgX19pbml0IG51bWFfaW5pdCh2 b2lkKQogewotICAgIGludCByZXQgPSAwOworICAgIGludCByZXQgPSAwLCBiYW5rOworICAgIHBh ZGRyX3QgcmFtX3N0YXJ0ID0gfjA7CisgICAgcGFkZHJfdCByYW1fZW5kID0gMDsKIAogICAgIG5v ZGVzX2NsZWFyKHByb2Nlc3Nvcl9ub2Rlc19wYXJzZWQpOwogICAgIGluaXRfY3B1X3RvX25vZGUo KTsKQEAgLTgzLDYgKzE0MSwyMyBAQCB2b2lkIF9faW5pdCBudW1hX2luaXQodm9pZCkKICAgICB9 CiAKIG5vX251bWE6CisgICAgZm9yICggYmFuayA9IDAgOyBiYW5rIDwgYm9vdGluZm8ubWVtLm5y X2JhbmtzOyBiYW5rKysgKQorICAgIHsKKyAgICAgICAgcGFkZHJfdCBiYW5rX3N0YXJ0ID0gYm9v dGluZm8ubWVtLmJhbmtbYmFua10uc3RhcnQ7CisgICAgICAgIHBhZGRyX3QgYmFua19lbmQgPSBi YW5rX3N0YXJ0ICsgYm9vdGluZm8ubWVtLmJhbmtbYmFua10uc2l6ZTsKKworICAgICAgICByYW1f c3RhcnQgPSBtaW4ocmFtX3N0YXJ0LCBiYW5rX3N0YXJ0KTsKKyAgICAgICAgcmFtX2VuZCA9IG1h eChyYW1fZW5kLCBiYW5rX2VuZCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBJbiBhcmNoX3Nh bml0aXplX25vZGVzX21lbW9yeSgpIHdlIHVwZGF0ZSBub2Rlc1tdIHByb3Blcmx5LgorICAgICAq IEhlbmNlIHdlIHJlc2V0IHRoZSBub2Rlc1tdIGJlZm9yZSBjYWxsaW5nIG51bWFfc2Nhbl9ub2Rl cygpLgorICAgICAqLworICAgIG51bWFfcmVzZXRfbnVtYV9ub2RlcygpOworCisgICAgbnVtYV9p bml0bWVtX2luaXQoUEZOX1VQKHJhbV9zdGFydCksIFBGTl9ET1dOKHJhbV9lbmQpKTsKKwogICAg IHJldHVybjsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9udW1hLmMgYi94ZW4vY29tbW9u L251bWEuYwppbmRleCA1ZTk4NWQyLi4wZjc5YTA3IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL251 bWEuYworKysgYi94ZW4vY29tbW9uL251bWEuYwpAQCAtNzYsNiArNzYsMjAgQEAgbm9kZWlkX3Qg Z2V0X21lbWJsa19ub2RlaWQodW5zaWduZWQgaW50IGlkKQogICAgIHJldHVybiBtZW1ibGtfbm9k ZWlkW2lkXTsKIH0KIAoraW50IF9faW5pdCBnZXRfbWVtX25vZGVpZChwYWRkcl90IHN0YXJ0LCBw YWRkcl90IGVuZCkKK3sKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvciAoIGkgPSAwOyBp IDwgZ2V0X251bV9ub2RlX21lbWJsa3MoKTsgaSsrICkKKyAgICB7CisgICAgICAgIGlmICggc3Rh cnQgPj0gbm9kZV9tZW1ibGtfcmFuZ2VbaV0uc3RhcnQgJiYKKyAgICAgICAgICAgICBlbmQgPD0g bm9kZV9tZW1ibGtfcmFuZ2VbaV0uZW5kICkKKyAgICAgICAgICAgIHJldHVybiBtZW1ibGtfbm9k ZWlkW2ldOworICAgIH0KKworICAgIHJldHVybiAtRUlOVkFMOworfQorCiBzdGF0aWMgbm9kZWlk X3QgKmdldF9tZW1ibGtfbm9kZWlkX21hcCh2b2lkKQogewogICAgIHJldHVybiAmbWVtYmxrX25v ZGVpZFswXTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9udW1hLmggYi94ZW4vaW5jbHVk ZS94ZW4vbnVtYS5oCmluZGV4IDhhMzA2ZTcuLmE1NDFlYjcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL3hlbi9udW1hLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL251bWEuaApAQCAtNzAsNiArNzAs NyBAQCBzdHJ1Y3Qgbm9kZSAqZ2V0X251bWFfbm9kZSh1bnNpZ25lZCBpbnQgaWQpOwogbm9kZWlk X3QgZ2V0X21lbWJsa19ub2RlaWQodW5zaWduZWQgaW50IG1lbWJsayk7CiBzdHJ1Y3Qgbm9kZSAq Z2V0X25vZGVfbWVtYmxrX3JhbmdlKHVuc2lnbmVkIGludCBtZW1ibGspOwogaW50IG51bWFfYWRk X21lbWJsayhub2RlaWRfdCBub2RlaWQsIHBhZGRyX3Qgc3RhcnQsIHVpbnQ2NF90IHNpemUpOwor aW50IGdldF9tZW1fbm9kZWlkKHBhZGRyX3Qgc3RhcnQsIHBhZGRyX3QgZW5kKTsKIGludCBnZXRf bnVtX25vZGVfbWVtYmxrcyh2b2lkKTsKIGJvb2wgYXJjaF9zYW5pdGl6ZV9ub2Rlc19tZW1vcnko dm9pZCk7CiB2b2lkIG51bWFfZmFpbGVkKHZvaWQpOwotLSAKMi43LjQKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK