From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Hajnoczi Subject: [RFC 2/3] virtio_ring: use NUMA-aware memory allocation in probe Date: Thu, 25 Jun 2020 14:57:51 +0100 Message-ID: <20200625135752.227293-3-stefanha@redhat.com> References: <20200625135752.227293-1-stefanha@redhat.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20200625135752.227293-1-stefanha@redhat.com> Sender: kvm-owner@vger.kernel.org To: kvm@vger.kernel.org Cc: virtualization@lists.linux-foundation.org, "Michael S. Tsirkin" , Jason Wang List-Id: virtualization@lists.linuxfoundation.org QWxsb2NhdGUgZnJlcXVlbnRseS1hY2Nlc3NlZCBkYXRhIHN0cnVjdHVyZXMgZnJvbSB0aGUgTlVN QSBub2RlCmFzc29jaWF0ZWQgd2l0aCB0aGlzIGRldmljZSB0byBhdm9pZCBzbG93IGNyb3NzLU5V TUEgbm9kZSBtZW1vcnkKYWNjZXNzZXMuCgpPbmx5IHRoZSBmb2xsb3dpbmcgbWVtb3J5IGFsbG9j YXRpb25zIGFyZSBtYWRlIE5VTUEtYXdhcmU6CgoxLiBDYWxsZWQgZHVyaW5nIHByb2JlLiBJZiBj YWxsZWQgaW4gdGhlIGRhdGEgcGF0aCB0aGVuIGhvcGVmdWxseSB3ZSdyZQogICBleGVjdXRpbmcg b24gYSBDUFUgaW4gdGhlIHNhbWUgTlVNQSBub2RlIGFzIHRoZSBkZXZpY2UuIElmIHRoZSBDUFUg aXMKICAgbm90IGluIHRoZSByaWdodCBOVU1BIG5vZGUgdGhlbiBpdCdzIHVuY2xlYXIgd2hldGhl ciBmb3JjaW5nIG1lbW9yeQogICBhbGxvY2F0aW9ucyB0byB1c2UgdGhlIGRldmljZSdzIE5VTUEg bm9kZSB3aWxsIGluY3JlYXNlIG9yIGRlY3JlYXNlCiAgIHBlcmZvcm1hbmNlLgoKMi4gTWVtb3J5 IHdpbGwgYmUgZnJlcXVlbnRseSBhY2Nlc3NlZCBmcm9tIHRoZSBkYXRhIHBhdGguIFRoZXJlIGlz IG5vCiAgIG5lZWQgdG8gd29ycnkgYWJvdXQgZGF0YSB0aGF0IGlzIG5vdCBhY2Nlc3NlZCBmcm9t CiAgIHBlcmZvcm1hbmNlLWNyaXRpY2FsIGNvZGUgcGF0aHMuCgpUaGlzIHBhdGNoIGFkZHMgYSBu b24tbWVtaW5pdCBhbGxvY19wYWdlc19leGFjdF9uaWQoKSBjYWxsZXIgc28gSSd2ZQpyZW1vdmVk IHRoZSBfX21lbWluaXQgYWRkZWQgYnkgY29tbWl0IGUxOTMxODExNjA0OCAoIm1tL3BhZ2VfYWxs b2MuYzoKYWRkIF9fbWVtaW5pdCB0byBhbGxvY19wYWdlc19leGFjdF9uaWQoKSIpLgoKQ2M6IEZh YmlhbiBGcmVkZXJpY2sgPGZhYmZAc2t5bmV0LmJlPgpDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBs aW51eC1mb3VuZGF0aW9uLm9yZz4KQ2M6IE1lbCBHb3JtYW4gPG1nb3JtYW5Ac3VzZS5kZT4KU2ln bmVkLW9mZi1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgotLS0KSSBo YXZlIGluY2x1ZGVkIHRoZSBhbGxvY19wYWdlc19leGFjdF9uaWQoKSBfX21lbWluaXQgcmVtb3Zh bCBpbiB0aGlzCnBhdGNoIHRvIHByb3ZpZGUgY29udGV4dCBmb3IgcmV2aWV3ZXJzLgotLS0KIGlu Y2x1ZGUvbGludXgvZ2ZwLmggICAgICAgICAgfCAgMiArLQogZHJpdmVycy92aXJ0aW8vdmlydGlv X3JpbmcuYyB8IDI2ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBtbS9wYWdlX2FsbG9jLmMg ICAgICAgICAgICAgIHwgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9nZnAuaCBiL2luY2x1 ZGUvbGludXgvZ2ZwLmgKaW5kZXggNGFiYTRjODZjNjI2Li45YjY5ZGY3MDdjN2EgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbGludXgvZ2ZwLmgKKysrIGIvaW5jbHVkZS9saW51eC9nZnAuaApAQCAtNTYz LDcgKzU2Myw3IEBAIGV4dGVybiB1bnNpZ25lZCBsb25nIGdldF96ZXJvZWRfcGFnZShnZnBfdCBn ZnBfbWFzayk7CiAKIHZvaWQgKmFsbG9jX3BhZ2VzX2V4YWN0KHNpemVfdCBzaXplLCBnZnBfdCBn ZnBfbWFzayk7CiB2b2lkIGZyZWVfcGFnZXNfZXhhY3Qodm9pZCAqdmlydCwgc2l6ZV90IHNpemUp Owotdm9pZCAqIF9fbWVtaW5pdCBhbGxvY19wYWdlc19leGFjdF9uaWQoaW50IG5pZCwgc2l6ZV90 IHNpemUsIGdmcF90IGdmcF9tYXNrKTsKK3ZvaWQgKmFsbG9jX3BhZ2VzX2V4YWN0X25pZChpbnQg bmlkLCBzaXplX3Qgc2l6ZSwgZ2ZwX3QgZ2ZwX21hc2spOwogCiAjZGVmaW5lIF9fZ2V0X2ZyZWVf cGFnZShnZnBfbWFzaykgXAogCQlfX2dldF9mcmVlX3BhZ2VzKChnZnBfbWFzayksIDApCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jIGIvZHJpdmVycy92aXJ0aW8vdmly dGlvX3JpbmcuYwppbmRleCA1OGI5NmJhYThkNDguLmQwNmI0MjMwOWJlZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYworKysgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9f cmluZy5jCkBAIC0yNzYsNyArMjc2LDkgQEAgc3RhdGljIHZvaWQgKnZyaW5nX2FsbG9jX3F1ZXVl KHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2LCBzaXplX3Qgc2l6ZSwKIAkJcmV0dXJuIGRtYV9h bGxvY19jb2hlcmVudCh2ZGV2LT5kZXYucGFyZW50LCBzaXplLAogCQkJCQkgIGRtYV9oYW5kbGUs IGZsYWcpOwogCX0gZWxzZSB7Ci0JCXZvaWQgKnF1ZXVlID0gYWxsb2NfcGFnZXNfZXhhY3QoUEFH RV9BTElHTihzaXplKSwgZmxhZyk7CisJCWludCBub2RlID0gZGV2X3RvX25vZGUoJnZkZXYtPmRl dik7CisJCXZvaWQgKnF1ZXVlID0gYWxsb2NfcGFnZXNfZXhhY3RfbmlkKG5vZGUsIFBBR0VfQUxJ R04oc2l6ZSksCisJCQkJCQkgICAgZmxhZyk7CiAKIAkJaWYgKHF1ZXVlKSB7CiAJCQlwaHlzX2Fk ZHJfdCBwaHlzX2FkZHIgPSB2aXJ0X3RvX3BoeXMocXVldWUpOwpAQCAtMTU2Nyw2ICsxNTY5LDcg QEAgc3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnZyaW5nX2NyZWF0ZV92aXJ0cXVldWVfcGFja2Vk KAogCXN0cnVjdCB2cmluZ19wYWNrZWRfZGVzY19ldmVudCAqZHJpdmVyLCAqZGV2aWNlOwogCWRt YV9hZGRyX3QgcmluZ19kbWFfYWRkciwgZHJpdmVyX2V2ZW50X2RtYV9hZGRyLCBkZXZpY2VfZXZl bnRfZG1hX2FkZHI7CiAJc2l6ZV90IHJpbmdfc2l6ZV9pbl9ieXRlcywgZXZlbnRfc2l6ZV9pbl9i eXRlczsKKwlpbnQgbm9kZSA9IGRldl90b19ub2RlKCZ2ZGV2LT5kZXYpOwogCXVuc2lnbmVkIGlu dCBpOwogCiAJcmluZ19zaXplX2luX2J5dGVzID0gbnVtICogc2l6ZW9mKHN0cnVjdCB2cmluZ19w YWNrZWRfZGVzYyk7CkBAIC0xNTkxLDcgKzE1OTQsNyBAQCBzdGF0aWMgc3RydWN0IHZpcnRxdWV1 ZSAqdnJpbmdfY3JlYXRlX3ZpcnRxdWV1ZV9wYWNrZWQoCiAJaWYgKCFkZXZpY2UpCiAJCWdvdG8g ZXJyX2RldmljZTsKIAotCXZxID0ga21hbGxvYyhzaXplb2YoKnZxKSwgR0ZQX0tFUk5FTCk7CisJ dnEgPSBrbWFsbG9jX25vZGUoc2l6ZW9mKCp2cSksIEdGUF9LRVJORUwsIG5vZGUpOwogCWlmICgh dnEpCiAJCWdvdG8gZXJyX3ZxOwogCkBAIC0xNjM5LDkgKzE2NDIsMTAgQEAgc3RhdGljIHN0cnVj dCB2aXJ0cXVldWUgKnZyaW5nX2NyZWF0ZV92aXJ0cXVldWVfcGFja2VkKAogCXZxLT5wYWNrZWQu ZXZlbnRfZmxhZ3Nfc2hhZG93ID0gMDsKIAl2cS0+cGFja2VkLmF2YWlsX3VzZWRfZmxhZ3MgPSAx IDw8IFZSSU5HX1BBQ0tFRF9ERVNDX0ZfQVZBSUw7CiAKLQl2cS0+cGFja2VkLmRlc2Nfc3RhdGUg PSBrbWFsbG9jX2FycmF5KG51bSwKKwl2cS0+cGFja2VkLmRlc2Nfc3RhdGUgPSBrbWFsbG9jX2Fy cmF5X25vZGUobnVtLAogCQkJc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjX3N0YXRlX3BhY2tlZCks Ci0JCQlHRlBfS0VSTkVMKTsKKwkJCUdGUF9LRVJORUwsCisJCQlub2RlKTsKIAlpZiAoIXZxLT5w YWNrZWQuZGVzY19zdGF0ZSkKIAkJZ290byBlcnJfZGVzY19zdGF0ZTsKIApAQCAtMTY1Myw5ICsx NjU3LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgdmlydHF1ZXVlICp2cmluZ19jcmVhdGVfdmlydHF1ZXVl X3BhY2tlZCgKIAlmb3IgKGkgPSAwOyBpIDwgbnVtLTE7IGkrKykKIAkJdnEtPnBhY2tlZC5kZXNj X3N0YXRlW2ldLm5leHQgPSBpICsgMTsKIAotCXZxLT5wYWNrZWQuZGVzY19leHRyYSA9IGttYWxs b2NfYXJyYXkobnVtLAorCXZxLT5wYWNrZWQuZGVzY19leHRyYSA9IGttYWxsb2NfYXJyYXlfbm9k ZShudW0sCiAJCQlzaXplb2Yoc3RydWN0IHZyaW5nX2Rlc2NfZXh0cmFfcGFja2VkKSwKLQkJCUdG UF9LRVJORUwpOworCQkJR0ZQX0tFUk5FTCwKKwkJCW5vZGUpOwogCWlmICghdnEtPnBhY2tlZC5k ZXNjX2V4dHJhKQogCQlnb3RvIGVycl9kZXNjX2V4dHJhOwogCkBAIC0yMDU5LDEzICsyMDY0LDE0 IEBAIHN0cnVjdCB2aXJ0cXVldWUgKl9fdnJpbmdfbmV3X3ZpcnRxdWV1ZSh1bnNpZ25lZCBpbnQg aW5kZXgsCiAJCQkJCXZvaWQgKCpjYWxsYmFjaykoc3RydWN0IHZpcnRxdWV1ZSAqKSwKIAkJCQkJ Y29uc3QgY2hhciAqbmFtZSkKIHsKKwlpbnQgbm9kZSA9IGRldl90b19ub2RlKCZ2ZGV2LT5kZXYp OwogCXVuc2lnbmVkIGludCBpOwogCXN0cnVjdCB2cmluZ192aXJ0cXVldWUgKnZxOwogCiAJaWYg KHZpcnRpb19oYXNfZmVhdHVyZSh2ZGV2LCBWSVJUSU9fRl9SSU5HX1BBQ0tFRCkpCiAJCXJldHVy biBOVUxMOwogCi0JdnEgPSBrbWFsbG9jKHNpemVvZigqdnEpLCBHRlBfS0VSTkVMKTsKKwl2cSA9 IGttYWxsb2Nfbm9kZShzaXplb2YoKnZxKSwgR0ZQX0tFUk5FTCwgbm9kZSk7CiAJaWYgKCF2cSkK IAkJcmV0dXJuIE5VTEw7CiAKQEAgLTIxMTAsOCArMjExNiwxMCBAQCBzdHJ1Y3QgdmlydHF1ZXVl ICpfX3ZyaW5nX25ld192aXJ0cXVldWUodW5zaWduZWQgaW50IGluZGV4LAogCQkJCQl2cS0+c3Bs aXQuYXZhaWxfZmxhZ3Nfc2hhZG93KTsKIAl9CiAKLQl2cS0+c3BsaXQuZGVzY19zdGF0ZSA9IGtt YWxsb2NfYXJyYXkodnJpbmcubnVtLAotCQkJc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjX3N0YXRl X3NwbGl0KSwgR0ZQX0tFUk5FTCk7CisJdnEtPnNwbGl0LmRlc2Nfc3RhdGUgPSBrbWFsbG9jX2Fy cmF5X25vZGUodnJpbmcubnVtLAorCQkJc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjX3N0YXRlX3Nw bGl0KSwKKwkJCUdGUF9LRVJORUwsCisJCQlub2RlKTsKIAlpZiAoIXZxLT5zcGxpdC5kZXNjX3N0 YXRlKSB7CiAJCWtmcmVlKHZxKTsKIAkJcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9tbS9wYWdl X2FsbG9jLmMgYi9tbS9wYWdlX2FsbG9jLmMKaW5kZXggMTNjYzY1MzEyMmI3Li4yMjE2MDIyZDg5 ODcgMTAwNjQ0Ci0tLSBhL21tL3BhZ2VfYWxsb2MuYworKysgYi9tbS9wYWdlX2FsbG9jLmMKQEAg LTUwNTMsNyArNTA1Myw3IEBAIEVYUE9SVF9TWU1CT0woYWxsb2NfcGFnZXNfZXhhY3QpOwogICoK ICAqIFJldHVybjogcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgJU5VTEwgaW4gY2Fz ZSBvZiBlcnJvci4KICAqLwotdm9pZCAqIF9fbWVtaW5pdCBhbGxvY19wYWdlc19leGFjdF9uaWQo aW50IG5pZCwgc2l6ZV90IHNpemUsIGdmcF90IGdmcF9tYXNrKQordm9pZCAqYWxsb2NfcGFnZXNf ZXhhY3RfbmlkKGludCBuaWQsIHNpemVfdCBzaXplLCBnZnBfdCBnZnBfbWFzaykKIHsKIAl1bnNp Z25lZCBpbnQgb3JkZXIgPSBnZXRfb3JkZXIoc2l6ZSk7CiAJc3RydWN0IHBhZ2UgKnA7Ci0tIAoy LjI2LjIKCg==