From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC PATCH v2 10/25] x86: NUMA: Move numa code and make it generic Date: Mon, 8 May 2017 17:41:55 +0100 Message-ID: References: <1490716413-19796-1-git-send-email-vijay.kilari@gmail.com> <1490716413-19796-11-git-send-email-vijay.kilari@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1490716413-19796-11-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: vijay.kilari@gmail.com, 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, Vijaya Kumar K List-Id: xen-devel@lists.xenproject.org SGkgVmlqYXksCgpPbiAyOC8wMy8xNyAxNjo1MywgdmlqYXkua2lsYXJpQGdtYWlsLmNvbSB3cm90 ZToKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L251bWEuYyBiL3hlbi9hcmNoL3g4Ni9udW1h LmMKPiBpbmRleCAzYmRhYjlhLi4zM2M2ODA2IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9u dW1hLmMKPiArKysgYi94ZW4vYXJjaC94ODYvbnVtYS5jCj4gQEAgLTEwLDI4NiArMTAsMTMgQEAK PiAgI2luY2x1ZGUgPHhlbi9jdHlwZS5oPgo+ICAjaW5jbHVkZSA8eGVuL25vZGVtYXNrLmg+Cj4g ICNpbmNsdWRlIDx4ZW4vbnVtYS5oPgo+IC0jaW5jbHVkZSA8eGVuL2tleWhhbmRsZXIuaD4KPiAg I2luY2x1ZGUgPHhlbi90aW1lLmg+Cj4gICNpbmNsdWRlIDx4ZW4vc21wLmg+Cj4gICNpbmNsdWRl IDx4ZW4vcGZuLmg+Cj4gICNpbmNsdWRlIDxhc20vYWNwaS5oPgo+IC0jaW5jbHVkZSA8eGVuL3Nj aGVkLmg+Cj4gLSNpbmNsdWRlIDx4ZW4vc29mdGlycS5oPgo+IC0KPiAtc3RhdGljIGludCBudW1h X3NldHVwKGNoYXIgKnMpOwo+IC1jdXN0b21fcGFyYW0oIm51bWEiLCBudW1hX3NldHVwKTsKPiAt Cj4gLXN0cnVjdCBub2RlX2RhdGEgbm9kZV9kYXRhW01BWF9OVU1OT0RFU107Cj4gLQo+IC0vKiBN YXBwaW5nIGZyb20gcGR4IHRvIG5vZGUgaWQgKi8KPiAtdW5zaWduZWQgaW50IG1lbW5vZGVfc2hp ZnQ7Cj4gLXN0YXRpYyB0eXBlb2YoKm1lbW5vZGVtYXApIF9tZW1ub2RlbWFwWzY0XTsKPiAtdW5z aWduZWQgbG9uZyBtZW1ub2RlbWFwc2l6ZTsKPiAtdWludDhfdCAqbWVtbm9kZW1hcDsKPiAtCj4g LW5vZGVpZF90IF9fcmVhZF9tb3N0bHkgY3B1X3RvX25vZGVbTlJfQ1BVU10gPSB7Cj4gLSAgICBb MCAuLi4gTlJfQ1BVUy0xXSA9IE5VTUFfTk9fTk9ERQo+IC19Owo+IC0vKgo+IC0gKiBLZWVwIEJJ T1MncyBDUFUybm9kZSBpbmZvcm1hdGlvbiwgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBtZW1vcnkg YWxsb2NhaW9uCj4gLSAqLwo+IC1ub2RlaWRfdCBhcGljaWRfdG9fbm9kZVtNQVhfTE9DQUxfQVBJ Q10gPSB7Cj4gLSAgICBbMCAuLi4gTUFYX0xPQ0FMX0FQSUMtMV0gPSBOVU1BX05PX05PREUKPiAt fTsKCldoeSB0aGlzIGlzIG1vdmVkIGluIHRoaXMgcGF0Y2ggZnJvbSBoZXJlIHRvIHg4Ni9zcmF0 LmM/CgpbLi4uXQoKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NyYXQuYyBiL3hlbi9hcmNo L3g4Ni9zcmF0LmMKPiBpbmRleCA3Y2Y0NzcxLi4yY2M4N2EzIDEwMDY0NAo+IC0tLSBhL3hlbi9h cmNoL3g4Ni9zcmF0LmMKPiArKysgYi94ZW4vYXJjaC94ODYvc3JhdC5jCj4gQEAgLTI3LDYgKzI3 LDEzIEBAIHN0YXRpYyBub2RlbWFza190IF9faW5pdGRhdGEgbWVtb3J5X25vZGVzX3BhcnNlZDsK PiAgc3RhdGljIG5vZGVtYXNrX3QgX19pbml0ZGF0YSBwcm9jZXNzb3Jfbm9kZXNfcGFyc2VkOwo+ ICBzdGF0aWMgc3RydWN0IG5vZGUgX19pbml0ZGF0YSBub2Rlc1tNQVhfTlVNTk9ERVNdOwo+Cj4g Ky8qCj4gKyAqIEtlZXAgQklPUydzIENQVTJub2RlIGluZm9ybWF0aW9uLCBzaG91bGQgbm90IGJl IHVzZWQgZm9yIG1lbW9yeSBhbGxvY2Fpb24KPiArICovCj4gK25vZGVpZF90IGFwaWNpZF90b19u b2RlW01BWF9MT0NBTF9BUElDXSA9IHsKPiArICAgIFswIC4uLiBNQVhfTE9DQUxfQVBJQy0xXSA9 IE5VTUFfTk9fTk9ERQo+ICt9Owo+ICsKClRoaXMgZG9lcyBub3QgYmVsb25nIHRvIHRoaXMgcGF0 Y2guLi4KCj4gIHN0cnVjdCBweG0ybm9kZSB7Cj4gIAl1bnNpZ25lZCBpbnQgcHhtOwo+ICAJbm9k ZWlkX3Qgbm9kZTsKClsuLi5dCgo+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL251bWEuYyBiL3hl bi9jb21tb24vbnVtYS5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4y MDdlYmQ4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3hlbi9jb21tb24vbnVtYS5jCj4gQEAgLTAs MCArMSw0ODggQEAKPiArLyoKPiArICogQ29tbW9uIE5VTUEgaGFuZGxpbmcgZnVuY3Rpb25zIGZv ciB4ODYgYW5kIGFybS4KPiArICogT3JpZ2luYWwgY29kZSBleHRyYWN0ZWQgZnJvbSBhcmNoL3g4 Ni9udW1hLmMKPiArICoKPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+ICsgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKPiArICogTGljZW5zZSwg dmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4K PiArICoKPiArICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiArICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiArICoKPiArICogWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK PiArICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8eGVuL21tLmg+Cj4gKyNp bmNsdWRlIDx4ZW4vc3RyaW5nLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vaW5pdC5oPgo+ICsjaW5jbHVk ZSA8eGVuL2N0eXBlLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vbm9kZW1hc2suaD4KPiArI2luY2x1ZGUg PHhlbi9udW1hLmg+Cj4gKyNpbmNsdWRlIDx4ZW4va2V5aGFuZGxlci5oPgo+ICsjaW5jbHVkZSA8 eGVuL3RpbWUuaD4KPiArI2luY2x1ZGUgPHhlbi9zbXAuaD4KPiArI2luY2x1ZGUgPHhlbi9wZm4u aD4KPiArI2luY2x1ZGUgPGFzbS9hY3BpLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KPiAr I2luY2x1ZGUgPHhlbi9zb2Z0aXJxLmg+CgpXaGlsc3QgeW91IGFyZSBtb3ZpbmcgdGhpcyBpbiBh IG5ld2ZpbGUsIHBsZWFzZSBvcmRlciB0aGUgaW5jbHVkZXMuCgpbLi4uXQoKPiArc3RhdGljIHVu c2lnbmVkIGludCBfX2luaXQgZXh0cmFjdF9sc2JfZnJvbV9ub2Rlcyhjb25zdCBzdHJ1Y3Qgbm9k ZSAqbm9kZXMsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IG51bW5vZGVzKQo+ICt7Cj4gKyAgICB1bnNpZ25lZCBpbnQgaSwgbm9kZXNfdXNl ZCA9IDA7Cj4gKyAgICB1bnNpZ25lZCBsb25nIHNwZHgsIGVwZHg7Cj4gKyAgICB1bnNpZ25lZCBs b25nIGJpdGZpZWxkID0gMCwgbWVtdG9wID0gMDsKPiArCj4gKyAgICBmb3IgKCBpID0gMDsgaSA8 IG51bW5vZGVzOyBpKysgKQo+ICsgICAgewo+ICsgICAgICAgIHNwZHggPSBwYWRkcl90b19wZHgo bm9kZXNbaV0uc3RhcnQpOwo+ICsgICAgICAgIGVwZHggPSBwYWRkcl90b19wZHgobm9kZXNbaV0u ZW5kIC0gMSkgKyAxOwo+ICsgICAgICAgIGlmICggc3BkeCA+PSBlcGR4ICkKPiArICAgICAgICAg ICAgY29udGludWU7Cj4gKyAgICAgICAgYml0ZmllbGQgfD0gc3BkeDsKPiArICAgICAgICBub2Rl c191c2VkKys7Cj4gKyAgICAgICAgaWYgKCBlcGR4ID4gbWVtdG9wICkKPiArICAgICAgICAgICAg bWVtdG9wID0gZXBkeDsKPiArICAgIH0KPiArICAgIGlmICggbm9kZXNfdXNlZCA8PSAxICkKPiAr ICAgICAgICBpID0gQklUU19QRVJfTE9ORyAtIDE7Cj4gKyAgICBlbHNlCj4gKyAgICAgICAgaSA9 IGZpbmRfZmlyc3RfYml0KCZiaXRmaWVsZCwgc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogOCk7Cj4g KwoKSXQgaXMgaW50ZXJlc3RpbmcgdG8gc2VlIHRoYXQgbmV3bGluZSB3YXMgYWRkZWQgaW4gdGhl IHByb2Nlc3Mgb2YgbW92aW5nIAp0aGUgY29kZS4KCj4gKyAgICBtZW1ub2RlbWFwc2l6ZSA9ICht ZW10b3AgPj4gaSkgKyAxOwoKWy4uLi5dCgo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4v bnVtYS5oIGIveGVuL2luY2x1ZGUveGVuL251bWEuaAo+IGluZGV4IDkyMmZiZDguLmVlZDQwYWYg MTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUveGVuL251bWEuaAo+ICsrKyBiL3hlbi9pbmNsdWRl L3hlbi9udW1hLmgKPiBAQCAtMTQsNiArMTQsMjEgQEAKPgo+ICAjZGVmaW5lIE1BWF9OVU1OT0RF UyAgICAoMSA8PCBOT0RFU19TSElGVCkKPgo+ICtzdHJ1Y3Qgbm9kZSB7Cj4gKyAgICBwYWRkcl90 IHN0YXJ0Owo+ICsgICAgcGFkZHJfdCBlbmQ7Cj4gK307Cj4gKwo+ICtleHRlcm4gaW50IGNvbXB1 dGVfbWVtbm9kZV9zaGlmdChzdHJ1Y3Qgbm9kZSAqbm9kZXMsIGludCBudW1ub2RlcywKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWlkX3QgKm5vZGVpZHMsIHVuc2lnbmVk IGludCAqc2hpZnQpOwo+ICtleHRlcm4gdm9pZCBudW1hX2luaXRfYXJyYXkodm9pZCk7Cj4gK2V4 dGVybiBib29sX3Qgc3JhdF9kaXNhYmxlZCh2b2lkKTsKPiArZXh0ZXJuIHZvaWQgbnVtYV9zZXRf bm9kZShpbnQgY3B1LCBub2RlaWRfdCBub2RlKTsKPiArZXh0ZXJuIG5vZGVpZF90IGFjcGlfc2V0 dXBfbm9kZSh1bnNpZ25lZCBpbnQgcHhtKTsKPiArZXh0ZXJuIHZvaWQgc3JhdF9kZXRlY3Rfbm9k ZShpbnQgY3B1KTsKPiArZXh0ZXJuIHZvaWQgc2V0dXBfbm9kZV9ib290bWVtKG5vZGVpZF90IG5v ZGVpZCwgcGFkZHJfdCBzdGFydCwgcGFkZHJfdCBlbmQpOwo+ICtleHRlcm4gdm9pZCBpbml0X2Nw dV90b19ub2RlKHZvaWQpOwoKQ2FuIHlvdSBwbGVhc2UgYmUgY29uc2lzdGVudCB3aXRoIHRoaXMg ZmlsZSBhbmQgZHJvcCB0aGUgdW5lY2Vzc2FyeSAKImV4dGVybiIuCgo+ICsKPiAgI2RlZmluZSB2 Y3B1X3RvX25vZGUodikgKGNwdV90b19ub2RlKCh2KS0+cHJvY2Vzc29yKSkKPgo+ICAjZGVmaW5l IGRvbWFpbl90b19ub2RlKGQpIFwKPiBAQCAtMjMsNCArMzgsNyBAQAo+ICBib29sIGlzX251bWFf b2ZmKHZvaWQpOwo+ICBib29sIGdldF9hY3BpX251bWEodm9pZCk7Cj4gIHZvaWQgc2V0X2FjcGlf bnVtYShib29sIHZhbCk7Cj4gK2ludCBnZXRfbnVtYV9mYWtlKHZvaWQpOwo+ICtleHRlcm4gaW50 IG51bWFfZW11bGF0aW9uKHVpbnQ2NF90IHN0YXJ0X3BmbiwgdWludDY0X3QgZW5kX3Bmbik7Cj4g K2V4dGVybiB2b2lkIG51bWFfZHVtbXlfaW5pdCh1aW50NjRfdCBzdGFydF9wZm4sIHVpbnQ2NF90 IGVuZF9wZm4pOwoKRGl0dG8uCgo+ICAjZW5kaWYgLyogX1hFTl9OVU1BX0ggKi8KPgoKLS0gCkp1 bGllbiBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==