From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Chen, Kenneth W" Date: Wed, 24 Sep 2003 20:41:49 +0000 Subject: Numa support for hugetlb page MIME-Version: 1 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C382DC.47773D9E" Message-Id: List-Id: To: linux-ia64@vger.kernel.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C382DC.47773D9E Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Here is a patch that adds numa support for hugetlb page on ia64. It is taken from x86 numa implementation. The low level hugetlb page pre-allocation is done in round robin fashion on each numa node and allocation for user level code is node local aware. We would like people to try this out and give us comments. Thanks. - Ken ------_=_NextPart_001_01C382DC.47773D9E Content-Type: application/octet-stream; name="numa_hugetlb.patch" Content-Transfer-Encoding: base64 Content-Description: numa_hugetlb.patch Content-Disposition: attachment; filename="numa_hugetlb.patch" LS0tIGxpbnV4LTIuNi4wLXRlc3Q1L2FyY2gvaWE2NC9tbS9odWdldGxicGFnZS5jCU1vbiBTZXAg IDggMDU6NTA6MDYgMjAwMw0KKysrIGxpbnV4LTIuNi4wLnRlc3Q1LmgvYXJjaC9pYTY0L21tL2h1 Z2V0bGJwYWdlLmMJV2VkIFNlcCAyNCAxMzoxNjo0MyAyMDAzDQpAQCAtMjAsMTMgKzIwLDQ2IEBA DQogDQogI2RlZmluZSBUQVNLX0hQQUdFX0JBU0UgKFJFR0lPTl9IUEFHRSA8PCBSRUdJT05fU0hJ RlQpDQogDQotc3RhdGljIGxvbmcgICAgaHRsYnBhZ2VtZW07DQotaW50ICAgICBodGxicGFnZV9t YXg7DQotc3RhdGljIGxvbmcgICAgaHRsYnpvbmVfcGFnZXM7DQorc3RhdGljIGxvbmcJaHRsYnBh Z2VtZW07DQoraW50CQlodGxicGFnZV9tYXg7DQorc3RhdGljIGxvbmcJaHRsYnpvbmVfcGFnZXM7 DQogDQotc3RhdGljIExJU1RfSEVBRChodGxicGFnZV9mcmVlbGlzdCk7DQorc3RhdGljIHN0cnVj dCBsaXN0X2hlYWQgaHVnZXBhZ2VfZnJlZWxpc3RzW01BWF9OVU1OT0RFU107DQogc3RhdGljIHNw aW5sb2NrX3QgaHRsYnBhZ2VfbG9jayA9IFNQSU5fTE9DS19VTkxPQ0tFRDsNCiANCitzdGF0aWMg dm9pZCBlbnF1ZXVlX2h1Z2VfcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSkNCit7DQorCWxpc3RfYWRk KCZwYWdlLT5saXN0LA0KKwkJJmh1Z2VwYWdlX2ZyZWVsaXN0c1twYWdlX3pvbmUocGFnZSktPnpv bmVfcGdkYXQtPm5vZGVfaWRdKTsNCit9DQorDQorc3RhdGljIHN0cnVjdCBwYWdlICpkZXF1ZXVl X2h1Z2VfcGFnZSh2b2lkKQ0KK3sNCisJaW50IG5pZCA9IG51bWFfbm9kZV9pZCgpOw0KKwlzdHJ1 Y3QgcGFnZSAqcGFnZSA9IE5VTEw7DQorDQorCWlmIChsaXN0X2VtcHR5KCZodWdlcGFnZV9mcmVl bGlzdHNbbmlkXSkpIHsNCisJCWZvciAobmlkID0gMDsgbmlkIDwgTUFYX05VTU5PREVTOyArK25p ZCkNCisJCQlpZiAoIWxpc3RfZW1wdHkoJmh1Z2VwYWdlX2ZyZWVsaXN0c1tuaWRdKSkNCisJCQkJ YnJlYWs7DQorCX0NCisJaWYgKG5pZCA+PSAwICYmIG5pZCA8IE1BWF9OVU1OT0RFUyAmJg0KKwkg ICAgIWxpc3RfZW1wdHkoJmh1Z2VwYWdlX2ZyZWVsaXN0c1tuaWRdKSkgew0KKwkJcGFnZSA9IGxp c3RfZW50cnkoaHVnZXBhZ2VfZnJlZWxpc3RzW25pZF0ubmV4dCwgc3RydWN0IHBhZ2UsIGxpc3Qp Ow0KKwkJbGlzdF9kZWwoJnBhZ2UtPmxpc3QpOw0KKwl9DQorCXJldHVybiBwYWdlOw0KK30NCisN CitzdGF0aWMgc3RydWN0IHBhZ2UgKmFsbG9jX2ZyZXNoX2h1Z2VfcGFnZSh2b2lkKQ0KK3sNCisJ c3RhdGljIGludCBuaWQgPSAwOw0KKwlzdHJ1Y3QgcGFnZSAqcGFnZTsNCisJcGFnZSA9IGFsbG9j X3BhZ2VzX25vZGUobmlkLCBHRlBfSElHSFVTRVIsIEhVR0VUTEJfUEFHRV9PUkRFUik7DQorCW5p ZCA9IChuaWQgKyAxKSAlIG51bW5vZGVzOw0KKwlyZXR1cm4gcGFnZTsNCit9DQorDQogdm9pZCBm cmVlX2h1Z2VfcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSk7DQogDQogc3RhdGljIHN0cnVjdCBwYWdl ICphbGxvY19odWdldGxiX3BhZ2Uodm9pZCkNCkBAIC0zNSwxMyArNjgsMTEgQEANCiAJc3RydWN0 IHBhZ2UgKnBhZ2U7DQogDQogCXNwaW5fbG9jaygmaHRsYnBhZ2VfbG9jayk7DQotCWlmIChsaXN0 X2VtcHR5KCZodGxicGFnZV9mcmVlbGlzdCkpIHsNCisJcGFnZSA9IGRlcXVldWVfaHVnZV9wYWdl KCk7DQorCWlmICghcGFnZSkgew0KIAkJc3Bpbl91bmxvY2soJmh0bGJwYWdlX2xvY2spOw0KIAkJ cmV0dXJuIE5VTEw7DQogCX0NCi0NCi0JcGFnZSA9IGxpc3RfZW50cnkoaHRsYnBhZ2VfZnJlZWxp c3QubmV4dCwgc3RydWN0IHBhZ2UsIGxpc3QpOw0KLQlsaXN0X2RlbCgmcGFnZS0+bGlzdCk7DQog CWh0bGJwYWdlbWVtLS07DQogCXNwaW5fdW5sb2NrKCZodGxicGFnZV9sb2NrKTsNCiAJc2V0X3Bh Z2VfY291bnQocGFnZSwgMSk7DQpAQCAtMjI4LDcgKzI1OSw3IEBADQogCUlOSVRfTElTVF9IRUFE KCZwYWdlLT5saXN0KTsNCiANCiAJc3Bpbl9sb2NrKCZodGxicGFnZV9sb2NrKTsNCi0JbGlzdF9h ZGQoJnBhZ2UtPmxpc3QsICZodGxicGFnZV9mcmVlbGlzdCk7DQorCWVucXVldWVfaHVnZV9wYWdl KHBhZ2UpOw0KIAlodGxicGFnZW1lbSsrOw0KIAlzcGluX3VubG9jaygmaHRsYnBhZ2VfbG9jayk7 DQogfQ0KQEAgLTM2NCw3ICszOTUsNyBAQA0KIA0KIAltYXAgPSBOVUxMOw0KIAlzcGluX2xvY2so Jmh0bGJwYWdlX2xvY2spOw0KLQlsaXN0X2Zvcl9lYWNoKHAsICZodGxicGFnZV9mcmVlbGlzdCkg ew0KKwlsaXN0X2Zvcl9lYWNoKHAsICZodWdlcGFnZV9mcmVlbGlzdHNbMF0pIHsNCiAJCWlmICht YXApIHsNCiAJCQlsaXN0X2RlbCgmbWFwLT5saXN0KTsNCiAJCQl1cGRhdGVfYW5kX2ZyZWVfcGFn ZShtYXApOw0KQEAgLTQwMSwxMSArNDMyLDExIEBADQogCQlyZXR1cm4gKGludClodGxiem9uZV9w YWdlczsNCiAJaWYgKGxjb3VudCA+IDApIHsJLyogSW5jcmVhc2UgdGhlIG1lbSBzaXplLiAqLw0K IAkJd2hpbGUgKGxjb3VudC0tKSB7DQotCQkJcGFnZSA9IGFsbG9jX3BhZ2VzKF9fR0ZQX0hJR0hN RU0sIEhVR0VUTEJfUEFHRV9PUkRFUik7DQorCQkJcGFnZSA9IGFsbG9jX2ZyZXNoX2h1Z2VfcGFn ZSgpOw0KIAkJCWlmIChwYWdlID09IE5VTEwpDQogCQkJCWJyZWFrOw0KIAkJCXNwaW5fbG9jaygm aHRsYnBhZ2VfbG9jayk7DQotCQkJbGlzdF9hZGQoJnBhZ2UtPmxpc3QsICZodGxicGFnZV9mcmVl bGlzdCk7DQorCQkJZW5xdWV1ZV9odWdlX3BhZ2UocGFnZSk7DQogCQkJaHRsYnBhZ2VtZW0rKzsN CiAJCQlodGxiem9uZV9wYWdlcysrOw0KIAkJCXNwaW5fdW5sb2NrKCZodGxicGFnZV9sb2NrKTsN CkBAIC00NDIsMTcgKzQ3MywxOCBAQA0KIA0KIHN0YXRpYyBpbnQgX19pbml0IGh1Z2V0bGJfaW5p dCh2b2lkKQ0KIHsNCi0JaW50IGksIGo7DQorCWludCBpOw0KIAlzdHJ1Y3QgcGFnZSAqcGFnZTsN CiANCisJZm9yIChpID0gMDsgaSA8IE1BWF9OVU1OT0RFUzsgKytpKQ0KKwkJSU5JVF9MSVNUX0hF QUQoJmh1Z2VwYWdlX2ZyZWVsaXN0c1tpXSk7DQorDQogCWZvciAoaSA9IDA7IGkgPCBodGxicGFn ZV9tYXg7ICsraSkgew0KLQkJcGFnZSA9IGFsbG9jX3BhZ2VzKF9fR0ZQX0hJR0hNRU0sIEhVR0VU TEJfUEFHRV9PUkRFUik7DQorCQlwYWdlID0gYWxsb2NfZnJlc2hfaHVnZV9wYWdlKCk7DQogCQlp ZiAoIXBhZ2UpDQogCQkJYnJlYWs7DQotCQlmb3IgKGogPSAwOyBqIDwgSFBBR0VfU0laRS9QQUdF X1NJWkU7ICsraikNCi0JCQlTZXRQYWdlUmVzZXJ2ZWQoJnBhZ2Vbal0pOw0KIAkJc3Bpbl9sb2Nr KCZodGxicGFnZV9sb2NrKTsNCi0JCWxpc3RfYWRkKCZwYWdlLT5saXN0LCAmaHRsYnBhZ2VfZnJl ZWxpc3QpOw0KKwkJZW5xdWV1ZV9odWdlX3BhZ2UocGFnZSk7DQogCQlzcGluX3VubG9jaygmaHRs YnBhZ2VfbG9jayk7DQogCX0NCiAJaHRsYnBhZ2VfbWF4ID0gaHRsYnBhZ2VtZW0gPSBodGxiem9u ZV9wYWdlcyA9IGk7DQo= ------_=_NextPart_001_01C382DC.47773D9E--