From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC PATCH v1 03/21] NUMA: Move arch specific NUMA code as common Date: Mon, 20 Feb 2017 12:47:55 +0000 Message-ID: <65c47e3d-df7d-6c4d-a19f-883dd30cbef0@arm.com> References: <1486655834-9708-1-git-send-email-vijay.kilari@gmail.com> <1486655834-9708-4-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: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cfnNs-00023o-SJ for xen-devel@lists.xenproject.org; Mon, 20 Feb 2017 12:48:05 +0000 In-Reply-To: <1486655834-9708-4-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, sstabellini@kernel.org, andre.przywara@arm.com, dario.faggioli@citrix.com Cc: xen-devel@lists.xenproject.org, nd@arm.com, Vijaya Kumar K List-Id: xen-devel@lists.xenproject.org SGVsbG8gVmlqYXksCgpPbiAwOS8wMi8xNyAxNTo1NiwgdmlqYXkua2lsYXJpQGdtYWlsLmNvbSB3 cm90ZToKPiBGcm9tOiBWaWpheWEgS3VtYXIgSyA8VmlqYXlhLkt1bWFyQGNhdml1bS5jb20+Cj4K PiBNb3ZlIHNvbWUgY29tbW9uIG51bWEgY29kZSBmcm9tIHhlbi9hcmNoL3g4Ni9zcmF0LmMKPiB0 byB4ZW4vY29tbW9uL251bWEuYwo+Cj4gU2lnbmVkLW9mZi1ieTogVmlqYXlhIEt1bWFyIEsgPFZp amF5YS5LdW1hckBjYXZpdW0uY29tPgo+IC0tLQo+ICB4ZW4vYXJjaC94ODYvc3JhdC5jICAgICAg ICB8IDU0ICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICB4 ZW4vY29tbW9uL251bWEuYyAgICAgICAgICB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9hY3BpLmggfCAgMSAt Cj4gIHhlbi9pbmNsdWRlL2FzbS14ODYvbnVtYS5oIHwgIDEgLQo+ICB4ZW4vaW5jbHVkZS94ZW4v bnVtYS5oICAgICB8ICA1ICsrKystCj4gIDUgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygr KSwgNTMgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NyYXQuYyBi L3hlbi9hcmNoL3g4Ni9zcmF0LmMKPiBpbmRleCBkODY3ODNlLi41OGRlZTA5IDEwMDY0NAo+IC0t LSBhL3hlbi9hcmNoL3g4Ni9zcmF0LmMKPiArKysgYi94ZW4vYXJjaC94ODYvc3JhdC5jCj4gQEAg LTI1LDcgKzI1LDcgQEAgc3RhdGljIHN0cnVjdCBhY3BpX3RhYmxlX3NsaXQgKl9fcmVhZF9tb3N0 bHkgYWNwaV9zbGl0Owo+Cj4gIHN0YXRpYyBub2RlbWFza190IG1lbW9yeV9ub2Rlc19wYXJzZWQg X19pbml0ZGF0YTsKPiAgc3RhdGljIG5vZGVtYXNrX3QgcHJvY2Vzc29yX25vZGVzX3BhcnNlZCBf X2luaXRkYXRhOwo+IC1zdGF0aWMgc3RydWN0IG5vZGUgbm9kZXNbTUFYX05VTU5PREVTXSBfX2lu aXRkYXRhOwo+ICtleHRlcm4gc3RydWN0IG5vZGUgbm9kZXNbTUFYX05VTU5PREVTXSBfX2luaXRk YXRhOwo+Cj4gIHN0cnVjdCBweG0ybm9kZSB7Cj4gIAl1bnNpZ25lZCBweG07Cj4gQEAgLTM2LDkg KzM2LDkgQEAgc3RhdGljIHN0cnVjdCBweG0ybm9kZSBfX3JlYWRfbW9zdGx5IHB4bTJub2RlW01B WF9OVU1OT0RFU10gPQo+Cj4gIHN0YXRpYyB1bnNpZ25lZCBub2RlX3RvX3B4bShub2RlaWRfdCBu KTsKPgo+IC1zdGF0aWMgaW50IG51bV9ub2RlX21lbWJsa3M7Cj4gLXN0YXRpYyBzdHJ1Y3Qgbm9k ZSBub2RlX21lbWJsa19yYW5nZVtOUl9OT0RFX01FTUJMS1NdOwo+IC1zdGF0aWMgbm9kZWlkX3Qg bWVtYmxrX25vZGVpZFtOUl9OT0RFX01FTUJMS1NdOwo+ICtleHRlcm4gaW50IG51bV9ub2RlX21l bWJsa3M7Cj4gK2V4dGVybiBzdHJ1Y3Qgbm9kZSBub2RlX21lbWJsa19yYW5nZVtOUl9OT0RFX01F TUJMS1NdOwo+ICtleHRlcm4gbm9kZWlkX3QgbWVtYmxrX25vZGVpZFtOUl9OT0RFX01FTUJMS1Nd Owo+ICBzdGF0aWMgX19pbml0ZGF0YSBERUNMQVJFX0JJVE1BUChtZW1ibGtfaG90cGx1ZywgTlJf Tk9ERV9NRU1CTEtTKTsKPgo+ICBzdGF0aWMgaW5saW5lIGJvb2xfdCBub2RlX2ZvdW5kKHVuc2ln bmVkIGlkeCwgdW5zaWduZWQgcHhtKQo+IEBAIC0xMDMsNTIgKzEwMyw2IEBAIG5vZGVpZF90IHNl dHVwX25vZGUodW5zaWduZWQgcHhtKQo+ICAJcmV0dXJuIG5vZGU7Cj4gIH0KPgo+IC1pbnQgdmFs aWRfbnVtYV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBlbmQsIG5vZGVpZF90IG5vZGUpCj4gLXsKPiAt CWludCBpOwo+IC0KPiAtCWZvciAoaSA9IDA7IGkgPCBudW1fbm9kZV9tZW1ibGtzOyBpKyspIHsK PiAtCQlzdHJ1Y3Qgbm9kZSAqbmQgPSAmbm9kZV9tZW1ibGtfcmFuZ2VbaV07Cj4gLQo+IC0JCWlm IChuZC0+c3RhcnQgPD0gc3RhcnQgJiYgbmQtPmVuZCA+IGVuZCAmJgo+IC0JCQltZW1ibGtfbm9k ZWlkW2ldID09IG5vZGUgKQo+IC0JCQlyZXR1cm4gMTsKPiAtCX0KPiAtCj4gLQlyZXR1cm4gMDsK PiAtfQo+IC0KPiAtc3RhdGljIF9faW5pdCBpbnQgY29uZmxpY3RpbmdfbWVtYmxrcyh1NjQgc3Rh cnQsIHU2NCBlbmQpCj4gLXsKPiAtCWludCBpOwo+IC0KPiAtCWZvciAoaSA9IDA7IGkgPCBudW1f bm9kZV9tZW1ibGtzOyBpKyspIHsKPiAtCQlzdHJ1Y3Qgbm9kZSAqbmQgPSAmbm9kZV9tZW1ibGtf cmFuZ2VbaV07Cj4gLQkJaWYgKG5kLT5zdGFydCA9PSBuZC0+ZW5kKQo+IC0JCQljb250aW51ZTsK PiAtCQlpZiAobmQtPmVuZCA+IHN0YXJ0ICYmIG5kLT5zdGFydCA8IGVuZCkKPiAtCQkJcmV0dXJu IGk7Cj4gLQkJaWYgKG5kLT5lbmQgPT0gZW5kICYmIG5kLT5zdGFydCA9PSBzdGFydCkKPiAtCQkJ cmV0dXJuIGk7Cj4gLQl9Cj4gLQlyZXR1cm4gLTE7Cj4gLX0KPiAtCj4gLXN0YXRpYyBfX2luaXQg dm9pZCBjdXRvZmZfbm9kZShpbnQgaSwgdTY0IHN0YXJ0LCB1NjQgZW5kKQo+IC17Cj4gLQlzdHJ1 Y3Qgbm9kZSAqbmQgPSAmbm9kZXNbaV07Cj4gLQlpZiAobmQtPnN0YXJ0IDwgc3RhcnQpIHsKPiAt CQluZC0+c3RhcnQgPSBzdGFydDsKPiAtCQlpZiAobmQtPmVuZCA8IG5kLT5zdGFydCkKPiAtCQkJ bmQtPnN0YXJ0ID0gbmQtPmVuZDsKPiAtCX0KPiAtCWlmIChuZC0+ZW5kID4gZW5kKSB7Cj4gLQkJ bmQtPmVuZCA9IGVuZDsKPiAtCQlpZiAobmQtPnN0YXJ0ID4gbmQtPmVuZCkKPiAtCQkJbmQtPnN0 YXJ0ID0gbmQtPmVuZDsKPiAtCX0KPiAtfQo+IC0KPiAgc3RhdGljIF9faW5pdCB2b2lkIGJhZF9z cmF0KHZvaWQpCj4gIHsKPiAgCWludCBpOwo+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL251bWEu YyBiL3hlbi9jb21tb24vbnVtYS5jCj4gaW5kZXggNTlkY2I2My4uMTNmMTQ3YyAxMDA2NDQKPiAt LS0gYS94ZW4vY29tbW9uL251bWEuYwo+ICsrKyBiL3hlbi9jb21tb24vbnVtYS5jCj4gQEAgLTQ2 LDYgKzQ2LDYxIEBAIG5vZGVpZF90IGNwdV90b19ub2RlW05SX0NQVVNdIF9fcmVhZF9tb3N0bHkg PSB7Cj4KPiAgY3B1bWFza190IG5vZGVfdG9fY3B1bWFza1tNQVhfTlVNTk9ERVNdIF9fcmVhZF9t b3N0bHk7Cj4KPiAraW50IG51bV9ub2RlX21lbWJsa3M7Cj4gK3N0cnVjdCBub2RlIG5vZGVfbWVt YmxrX3JhbmdlW05SX05PREVfTUVNQkxLU107Cj4gK25vZGVpZF90IG1lbWJsa19ub2RlaWRbTlJf Tk9ERV9NRU1CTEtTXTsKPiArc3RydWN0IG5vZGUgbm9kZXNbTUFYX05VTU5PREVTXSBfX2luaXRk YXRhOwo+ICsKPiAraW50IHZhbGlkX251bWFfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgZW5kLCBub2Rl aWRfdCBub2RlKQoKSSBhbSBub3Qgc3VyZSB3aHkgeW91IG1vdmUgdGhpcyBjb2RlIGluIGNvbW1v biBjb2RlIHdoZW4gaXQgaXMgbm90IGV2ZW4gCnVzZWQgaW4geW91ciBzZXJpZXMuCgpGdXJ0aGVy bW9yZSwgcGxlYXNlIHVzZSBwYWRkcl90IHJhdGhlciB0aGFuIHU2NC4KCj4gK3sKPiArI2lmZGVm IENPTkZJR19OVU1BCgpjb21tb24vbnVtYS5jIHNob3VsZCByZWFsbHkgbm90IGJlIGNvbXBpbGVk IGF0IGFsbCBmb3IgY29uZmlndXJhdGlvbiBub3QgCnN1cHBvcnRpbmcgTlVNQS4gSW4gb3RoZXIg d29yZHMsIEkgcmVhbGx5IGRvbid0IHdhbnQgdG8gc2VlICNpZmRlZmVyeSBpbiAKY29tbW9uL251 bWEuYy4KCj4gKyAgICBpbnQgaTsKPiArCj4gKyAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX25vZGVf bWVtYmxrczsgaSsrKSB7CgpJIGtub3cgeW91IGFyZSBtb3ZpbmcgY29kZSBhcm91bmQsIGJ1dCBm aXggdGhlIGNvZGluZyBzdHlsZSBiZWZvcmUgaGFuZCAKd291bGQgaGF2ZSBiZWVuIGFwcHJlY2lh dGVkLgoKPiArICAgICAgICBzdHJ1Y3Qgbm9kZSAqbmQgPSAmbm9kZV9tZW1ibGtfcmFuZ2VbaV07 Cj4gKwo+ICsgICAgICAgIGlmIChuZC0+c3RhcnQgPD0gc3RhcnQgJiYgbmQtPmVuZCA+IGVuZCAm Jgo+ICsgICAgICAgICAgICBtZW1ibGtfbm9kZWlkW2ldID09IG5vZGUgKQo+ICsgICAgICAgICAg ICByZXR1cm4gMTsKPiArICAgIH0KPiArCj4gKyAgICByZXR1cm4gMDsKPiArI2Vsc2UKPiArICAg IHJldHVybiAxOwo+ICsjZW5kaWYKPiArfQo+ICsKPiArX19pbml0IGludCBjb25mbGljdGluZ19t ZW1ibGtzKHU2NCBzdGFydCwgdTY0IGVuZCkKCkRpdHRvIGZvciB1NjQuCgo+ICt7Cj4gKyAgICBp bnQgaTsKPiArCj4gKyAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX25vZGVfbWVtYmxrczsgaSsrKSB7 Cj4gKyAgICAgICAgc3RydWN0IG5vZGUgKm5kID0gJm5vZGVfbWVtYmxrX3JhbmdlW2ldOwo+ICsg ICAgICAgIGlmIChuZC0+c3RhcnQgPT0gbmQtPmVuZCkKPiArICAgICAgICAgICAgY29udGludWU7 Cj4gKyAgICAgICAgaWYgKG5kLT5lbmQgPiBzdGFydCAmJiBuZC0+c3RhcnQgPCBlbmQpCj4gKyAg ICAgICAgICAgIHJldHVybiBpOwo+ICsgICAgICAgIGlmIChuZC0+ZW5kID09IGVuZCAmJiBuZC0+ c3RhcnQgPT0gc3RhcnQpCj4gKyAgICAgICAgICAgIHJldHVybiBpOwo+ICsgICAgfQo+ICsgICAg cmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICtfX2luaXQgdm9pZCBjdXRvZmZfbm9kZShpbnQgaSwgdTY0 IHN0YXJ0LCB1NjQgZW5kKQoKU2FtZSByZW1hcmsgYXMgYWJvdmUuCgo+ICt7Cj4gKyAgICBzdHJ1 Y3Qgbm9kZSAqbmQgPSAmbm9kZXNbaV07Cj4gKyAgICBpZiAobmQtPnN0YXJ0IDwgc3RhcnQpIHsK PiArICAgICAgICBuZC0+c3RhcnQgPSBzdGFydDsKPiArICAgICAgICBpZiAobmQtPmVuZCA8IG5k LT5zdGFydCkKPiArICAgICAgICAgICAgbmQtPnN0YXJ0ID0gbmQtPmVuZDsKPiArICAgIH0KPiAr ICAgIGlmIChuZC0+ZW5kID4gZW5kKSB7Cj4gKyAgICAgICAgbmQtPmVuZCA9IGVuZDsKPiArICAg ICAgICBpZiAobmQtPnN0YXJ0ID4gbmQtPmVuZCkKPiArICAgICAgICAgICAgbmQtPnN0YXJ0ID0g bmQtPmVuZDsKPiArICAgIH0KPiArfQo+ICsKPiAgLyoKPiAgICogR2l2ZW4gYSBzaGlmdCB2YWx1 ZSwgdHJ5IHRvIHBvcHVsYXRlIG1lbW5vZGVtYXBbXQo+ICAgKiBSZXR1cm5zIDoKPiBkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9hY3BpLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2Fj cGkuaAo+IGluZGV4IGQzNmJlZTkuLmYxYThlOWQgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9hY3BpLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2FjcGkuaAo+IEBAIC0x MDYsNyArMTA2LDYgQEAgZXh0ZXJuIHZvaWQgYWNwaV9yZXNlcnZlX2Jvb3RtZW0odm9pZCk7Cj4K PiAgZXh0ZXJuIHM4IGFjcGlfbnVtYTsKPiAgZXh0ZXJuIGludCBhY3BpX3NjYW5fbm9kZXModTY0 IHN0YXJ0LCB1NjQgZW5kKTsKPiAtI2RlZmluZSBOUl9OT0RFX01FTUJMS1MgKE1BWF9OVU1OT0RF UyoyKQo+Cj4gICNpZmRlZiBDT05GSUdfQUNQSV9TTEVFUAo+Cj4gZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL2FzbS14ODYvbnVtYS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmgKPiBpbmRl eCA2MWJjZDhlLi5kZjFmN2Q1IDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbnVt YS5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmgKPiBAQCAtMjgsNyArMjgsNiBA QCBleHRlcm4gaW50IHNyYXRfZGlzYWJsZWQodm9pZCk7Cj4gIGV4dGVybiB2b2lkIHNyYXRfZGV0 ZWN0X25vZGUoaW50IGNwdSk7Cj4KPiAgZXh0ZXJuIG5vZGVpZF90IGFwaWNpZF90b19ub2RlW107 Cj4gLWV4dGVybiBpbnQgdmFsaWRfbnVtYV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBlbmQsIG5vZGVp ZF90IG5vZGUpOwo+Cj4gIHZvaWQgc3JhdF9wYXJzZV9yZWdpb25zKHU2NCBhZGRyKTsKPiAgZXh0 ZXJuIHU4IF9fbm9kZV9kaXN0YW5jZShub2RlaWRfdCBhLCBub2RlaWRfdCBiKTsKPiBkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUveGVuL251bWEuaCBiL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgKPiBp bmRleCBkZDMzYzkyLi44MTBmNzQyIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9udW1h LmgKPiArKysgYi94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oCj4gQEAgLTExLDcgKzExLDcgQEAKPiAg I2RlZmluZSBOVU1BX05PX0RJU1RBTkNFIDB4RkYKPgo+ICAjZGVmaW5lIE1BWF9OVU1OT0RFUyAg ICAoMSA8PCBOT0RFU19TSElGVCkKPiAtCgpTcHVyaW91cyBjaGFuZ2UuCgo+ICsjZGVmaW5lIE5S X05PREVfTUVNQkxLUyAoTUFYX05VTU5PREVTKjIpCj4gICNkZWZpbmUgdmNwdV90b19ub2RlKHYp IChjcHVfdG9fbm9kZSgodiktPnByb2Nlc3NvcikpCj4KPiAgI2RlZmluZSBkb21haW5fdG9fbm9k ZShkKSBcCj4gQEAgLTY2LDYgKzY2LDkgQEAgc3RhdGljIGlubGluZSBfX2F0dHJpYnV0ZV9fKChw dXJlKSkgbm9kZWlkX3QgcGh5c190b19uaWQocGFkZHJfdCBhZGRyKQo+ICAjZGVmaW5lIGNsZWFy X25vZGVfY3B1bWFzayhjcHUpIGRvIHt9IHdoaWxlICgwKQo+ICAjZW5kaWYgLyogQ09ORklHX05V TUEgKi8KPgo+ICtleHRlcm4gaW50IHZhbGlkX251bWFfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgZW5k LCBub2RlaWRfdCBub2RlKTsKPiArZXh0ZXJuIGludCBjb25mbGljdGluZ19tZW1ibGtzKHU2NCBz dGFydCwgdTY0IGVuZCk7Cj4gK2V4dGVybiB2b2lkIGN1dG9mZl9ub2RlKGludCBpLCB1NjQgc3Rh cnQsIHU2NCBlbmQpOwo+ICBleHRlcm4gdm9pZCBudW1hX2FkZF9jcHUoaW50IGNwdSk7Cj4gIGV4 dGVybiBub2RlaWRfdCBzZXR1cF9ub2RlKHVuc2lnbmVkIGludCBweG0pOwo+ICBleHRlcm4gdm9p ZCBudW1hX3NldF9ub2RlKGludCBjcHUsIG5vZGVpZF90IG5vZGUpOwo+CgpSZWdhcmRzLAoKLS0g Ckp1bGllbiBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==