From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F8142FF641; Thu, 18 Dec 2025 09:11:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766049109; cv=none; b=E+n5rCa4WoRkBm04gOM6Y3H15qRzBJFCshQfPAKIMBgwI63/Q3JZP8GLsJ9TQ27ZjlKq+rOwaBykoPjkz+YoCjj8PrgZCJfBUjCYmn3jinF0/NnFJ+PTM5O3ZaFKH2VGhqytwTlN5rx1HbEcnbsDPxe6Vf42Trd2KJRM46C6lms= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766049109; c=relaxed/simple; bh=9qvsRNZMwErdZewfvBXOsqTODsaBNM1Fe9KUBlLBJj0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YgldRXubuPwkF8VLF0u+vT5jy2S74bgNxHPbLmx+9G/uPDCgqLmEjoVaSGf6ckQv/36/Fj/3F9x8b5yisMrRcZveaT56gVmC+PD5DxsN4k/VG4DKw/3YjKcbgSFAShV2fyDSllp50tqeFKYkCxMDLBK+w3s/9CKIjc1/q3zjUyo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=BclcArBi; arc=none smtp.client-ip=117.135.210.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="BclcArBi" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-ID:MIME-Version; bh=9q vsRNZMwErdZewfvBXOsqTODsaBNM1Fe9KUBlLBJj0=; b=BclcArBimEKw/zrD7/ gr1K4HPD7JmF6OihZwW3X8PlaHIPlH3e+RTwA4JM3vl9mq6q4HlhLwqiQK79NNEf KWc27UhcnGae7ot7IWydheiU2J7SHQyo2ljT6dnGweTSJ/vnOgqW8TqWucgoPYTl lobfTnbt0XB9Td5/0CizYpTEQ= Received: from xwm-TianYi510Pro-14IMB.. (unknown []) by gzga-smtp-mtada-g0-4 (Coremail) with SMTP id _____wC3U84cxUNpI7dcBA--.210S12; Thu, 18 Dec 2025 17:11:01 +0800 (CST) From: Xiong Weimin <15927021679@163.com> To: "Michael S . Tsirkin" , David Hildenbrand , Jason Wang , Stefano Garzarella , Thomas Monjalon , David Marchand , Luca Boccassi , Kevin Traynor , Christian Ehrhardt , Xuan Zhuo , =?UTF-8?q?Eugenio=20P=C3=A9rez?= , Xueming Li , Maxime Coquelin , Chenbo Xia , Bruce Richardson Cc: kvm@vger.kernel.org, virtualization@lists.linux.dev, netdev@vger.kernel.org, xiongweimin Subject: [PATCH 10/10] drivers/infiniband/hw/virtio: Add completion queue notification support Date: Thu, 18 Dec 2025 17:09:50 +0800 Message-ID: <20251218091050.55047-11-15927021679@163.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251218091050.55047-1-15927021679@163.com> References: <20251218091050.55047-1-15927021679@163.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: base64 X-CM-TRANSID:_____wC3U84cxUNpI7dcBA--.210S12 X-Coremail-Antispam: 1Uf129KBjvJXoWxKFyUJr4DGr1UGw4fXFyDAwb_yoWxWrWDpa y2qa4YkrWUX3W3WFZrWw4Duaya9a93A3srGr90g3sxuF15Xr1IqFyvyry5tFW5Jry7Gr4x Xa4jyFZ8Gw4rZ3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jcfHUUUUUU= X-CM-SenderInfo: jprvmjixqsilmxzbiqqrwthudrp/xtbC8wWlLmlDxSWykwAA3W RnJvbTogeGlvbmd3ZWltaW4gPHhpb25nd2VpbWluQGt5bGlub3MuY24+CgpUaGlzIGNvbW1pdCBp bXBsZW1lbnRzIENRIChDb21wbGV0aW9uIFF1ZXVlKSBub3RpZmljYXRpb24gZnVuY3Rpb25hbGl0 eQpmb3IgdmlydGlvIFJETUEgZGV2aWNlczoKCjEuIE5vdGlmaWNhdGlvbiB0eXBlczoKICAgLSBT b2xpY2l0ZWQgY29tcGxldGlvbiBub3RpZmljYXRpb25zIChJQl9DUV9TT0xJQ0lURUQpCiAgIC0g TmV4dCBjb21wbGV0aW9uIG5vdGlmaWNhdGlvbnMgKElCX0NRX05FWFRfQ09NUCkKICAgLSBFcnJv ciBoYW5kbGluZyBmb3IgdW5zdXBwb3J0ZWQgZmxhZ3MKCjIuIEJhY2tlbmQgY29tbXVuaWNhdGlv bjoKICAgLSBWSVJUSU9fUkRNQV9DTURfUkVRX05PVElGWV9DUSBjb21tYW5kIGltcGxlbWVudGF0 aW9uCiAgIC0gQ29tbWFuZC9yZXNwb25zZSBidWZmZXIgbWFuYWdlbWVudAogICAtIEVycm9yIGhh bmRsaW5nIGZvciB2aXJ0cXVldWUgb3BlcmF0aW9ucwoKMy4gUmVzb3VyY2UgbWFuYWdlbWVudDoK ICAgLSBEeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uIGZvciBjb21tYW5kL3Jlc3BvbnNlIHN0cnVj dHMKICAgLSBHdWFyYW50ZWVkIGNsZWFudXAgb24gZXJyb3IgcGF0aHMKICAgLSBSYXRlLWxpbWl0 ZWQgZXJyb3IgbG9nZ2luZwoKNC4gRmVhdHVyZSBsaW1pdGF0aW9uczoKICAgLSBSRVBPUlRfTUlT U0VEX0VWRU5UUyBjdXJyZW50bHkgcmV0dXJucyAtRU9QTk9UU1VQUAogICAgICh0byBiZSBpbXBs ZW1lbnRlZCBpbiBmdXR1cmUgd29yaykKClNpZ25lZC1vZmYtYnk6IFhpb25nIFdlaW1pbiA8eGlv bmd3ZWltaW5Aa3lsaW5vcy5jbj4KLS0tCiAuLi4vZHJpdmVycy9pbmZpbmliYW5kL2h3L3ZpcnRp by92cmRtYV9hYmkuaCAgfCAgIDYgKwogLi4uL2luZmluaWJhbmQvaHcvdmlydGlvL3ZyZG1hX2Rl dl9hcGkuaCAgICAgIHwgICA5ICsrCiAuLi4vZHJpdmVycy9pbmZpbmliYW5kL2h3L3ZpcnRpby92 cmRtYV9pYi5jICAgfCAxMjEgKysrKysrKysrKysrKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDEz NSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGludXgtNi4xNi44 L2RyaXZlcnMvaW5maW5pYmFuZC9ody92aXJ0aW8vdnJkbWFfYWJpLmggYi9saW51eC02LjE2Ljgv ZHJpdmVycy9pbmZpbmliYW5kL2h3L3ZpcnRpby92cmRtYV9hYmkuaAppbmRleCAwYTk0MDQwNTcu LmZmNGIyNTA1ZiAxMDA2NDQKLS0tIGEvbGludXgtNi4xNi44L2RyaXZlcnMvaW5maW5pYmFuZC9o dy92aXJ0aW8vdnJkbWFfYWJpLmgKKysrIGIvbGludXgtNi4xNi44L2RyaXZlcnMvaW5maW5pYmFu ZC9ody92aXJ0aW8vdnJkbWFfYWJpLmgKQEAgLTksNiArOSwxMiBAQAogCiAjZGVmaW5lIFZSRE1B X0FCSV9WRVJTSU9OIDEKIAorZW51bSB7CisJVklSVElPX1JETUFfTk9USUZZX05PVCA9ICgwKSwK KwlWSVJUSU9fUkRNQV9OT1RJRllfU09MSUNJVEVEID0gKDEgPDwgMCksCisJVklSVElPX1JETUFf Tk9USUZZX05FWFRfQ09NUExFVElPTiA9ICgxIDw8IDEpCit9OworCiAvKioKICAqIHN0cnVjdCB2 cmRtYV9jcWUgLSBWaXJ0aW8tUkRNQSBDb21wbGV0aW9uIFF1ZXVlIEVudHJ5IChDUUUpCiAgKgpk aWZmIC0tZ2l0IGEvbGludXgtNi4xNi44L2RyaXZlcnMvaW5maW5pYmFuZC9ody92aXJ0aW8vdnJk bWFfZGV2X2FwaS5oIGIvbGludXgtNi4xNi44L2RyaXZlcnMvaW5maW5pYmFuZC9ody92aXJ0aW8v dnJkbWFfZGV2X2FwaS5oCmluZGV4IDg2YjVlY2FkZS4uZDlhNjU1MzFlIDEwMDY0NAotLS0gYS9s aW51eC02LjE2LjgvZHJpdmVycy9pbmZpbmliYW5kL2h3L3ZpcnRpby92cmRtYV9kZXZfYXBpLmgK KysrIGIvbGludXgtNi4xNi44L2RyaXZlcnMvaW5maW5pYmFuZC9ody92aXJ0aW8vdnJkbWFfZGV2 X2FwaS5oCkBAIC0yNDMsNiArMjQzLDE1IEBAIHN0cnVjdCB2cmRtYV9yc3BfcXVlcnlfcXAgewog CXN0cnVjdCB2cmRtYV9xcF9hdHRyIGF0dHI7CiB9OwogCitzdHJ1Y3QgdnJkbWFfY21kX3JlcV9u b3RpZnkgeworCV9fdTMyIGNxbjsKKwlfX3UzMiBmbGFnczsKK307CisKK3N0cnVjdCB2cmRtYV9y c3BfcmVxX25vdGlmeSB7CisJX191MzIgbWlzc2VkOworfTsKKwogc3RydWN0IHZyZG1hX2NtZF9y ZWdfdXNlcl9tciB7CiAJX191MzIgcGRuOwogCV9fdTMyIGFjY2Vzc19mbGFnczsKZGlmZiAtLWdp dCBhL2xpbnV4LTYuMTYuOC9kcml2ZXJzL2luZmluaWJhbmQvaHcvdmlydGlvL3ZyZG1hX2liLmMg Yi9saW51eC02LjE2LjgvZHJpdmVycy9pbmZpbmliYW5kL2h3L3ZpcnRpby92cmRtYV9pYi5jCmlu ZGV4IGIxNDI5ZTA3Mi4uNmY5N2M2YmRjIDEwMDY0NAotLS0gYS9saW51eC02LjE2LjgvZHJpdmVy cy9pbmZpbmliYW5kL2h3L3ZpcnRpby92cmRtYV9pYi5jCisrKyBiL2xpbnV4LTYuMTYuOC9kcml2 ZXJzL2luZmluaWJhbmQvaHcvdmlydGlvL3ZyZG1hX2liLmMKQEAgLTI4NDksNiArMjg0OSwxMTYg QEAgc3RhdGljIHN0cnVjdCBpYl9tciAqdnJkbWFfcmVnX3VzZXJfbXIoc3RydWN0IGliX3BkICpw ZCwgdTY0IHN0YXJ0LAogCXJldHVybiBFUlJfUFRSKHJjKTsKIH0KIAorLyoqCisgKiB2cmRtYV9y ZXFfbm90aWZ5X2NxIC0gUmVxdWVzdCBub3RpZmljYXRpb24gZm9yIENRIGV2ZW50cworICogQGli Y3E6CUNvbXBsZXRpb24gcXVldWUKKyAqIEBmbGFnczoJTm90aWZpY2F0aW9uIGZsYWdzIChlLmcu LCBzb2xpY2l0ZWQgb25seSwgcmVwb3J0IG1pc3NlZCkKKyAqCisgKiBSZXF1ZXN0cyB0aGF0IHRo ZSBuZXh0IGNvbXBsZXRpb24gKG9yIG5leHQgc29saWNpdGVkIGNvbXBsZXRpb24pIHRyaWdnZXIK KyAqIGFuIGludGVycnVwdC9ldmVudC4gQWxzbyBzdXBwb3J0cyBjaGVja2luZyBpZiBldmVudHMg d2VyZSBtaXNzZWQuCisgKgorICogQ29udGV4dDogUHJvY2VzcyBjb250ZXh0IChtYXkgc2xlZXAp LiBDYWxsZWQgZnJvbSB1c2VyIG9yIGtlcm5lbCBwYXRoLgorICogUmV0dXJuOgorICogKiAwIG9u IHN1Y2Nlc3MKKyAqICogLUVPUE5PVFNVUFAgaWYgdW5zdXBwb3J0ZWQgZmxhZyAoZS5nLiwgUkVQ T1JUX01JU1NFRF9FVkVOVFMpCisgKiAqIC1FTk9NRU0gaWYgY29tbWFuZCBhbGxvY2F0aW9uIGZh aWxzCisgKiAqIC1FSU8gaWYgY29tbXVuaWNhdGlvbiB3aXRoIGJhY2tlbmQgZmFpbHMKKyAqLwor c3RhdGljIGludCB2cmRtYV9yZXFfbm90aWZ5X2NxKHN0cnVjdCBpYl9jcSAqaWJjcSwgZW51bSBp Yl9jcV9ub3RpZnlfZmxhZ3MgZmxhZ3MpCit7CisJc3RydWN0IHZyZG1hX2NxICp2Y3EgPSB0b192 Y3EoaWJjcSk7CisJc3RydWN0IHZyZG1hX2RldiAqdmRldiA9IHRvX3ZkZXYoaWJjcS0+ZGV2aWNl KTsKKwlzdHJ1Y3QgdnJkbWFfY21kX3JlcV9ub3RpZnkgKmNtZDsKKwlzdHJ1Y3QgdnJkbWFfcnNw X3JlcV9ub3RpZnkgKnJzcDsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgaW4sIG91dDsKKwlpbnQgcmMg PSAwOworCisJLyogSGFuZGxlIHNvbGljaXRlZC1vbmx5IG9yIGFueS1jb21wbGV0aW9uIG5vdGlm aWNhdGlvbiAqLworCWlmIChmbGFncyAmIElCX0NRX1NPTElDSVRFRF9NQVNLKSB7CisJCWNtZCA9 IGt6YWxsb2Moc2l6ZW9mKCpjbWQpLCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFjbWQpCisJCQlyZXR1 cm4gLUVOT01FTTsKKworCQlyc3AgPSBremFsbG9jKHNpemVvZigqcnNwKSwgR0ZQX0tFUk5FTCk7 CisJCWlmICghcnNwKSB7CisJCQlrZnJlZShjbWQpOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0K KworCQljbWQtPmNxbiA9IGNwdV90b19sZTMyKHZjcS0+Y3FfaGFuZGxlKTsKKworCQlpZiAoKGZs YWdzICYgSUJfQ1FfU09MSUNJVEVEX01BU0spID09IElCX0NRX1NPTElDSVRFRCkKKwkJCWNtZC0+ ZmxhZ3MgPSBWSVJUSU9fUkRNQV9OT1RJRllfU09MSUNJVEVEOworCQllbHNlCisJCQljbWQtPmZs YWdzID0gVklSVElPX1JETUFfTk9USUZZX05FWFRfQ09NUExFVElPTjsKKworCQlzZ19pbml0X29u ZSgmaW4sIGNtZCwgc2l6ZW9mKCpjbWQpKTsKKwkJc2dfaW5pdF9vbmUoJm91dCwgcnNwLCBzaXpl b2YoKnJzcCkpOworCisJCXJjID0gdnJkbWFfZXhlY192ZXJic19jbWQodmRldiwgVklSVElPX1JE TUFfQ01EX1JFUV9OT1RJRllfQ1EsCisJCQkJCSAgJmluLCAmb3V0KTsKKworCQlpZiAocmMpIHsK KwkJCWRldl9lcnIoJnZkZXYtPnZkZXYtPmRldiwKKwkJCQkiVklSVElPX1JETUFfQ01EX1JFUV9O T1RJRllfQ1EgZmFpbGVkOiBjcW49JXUsIHJjPSVkXG4iLAorCQkJCXZjcS0+Y3FfaGFuZGxlLCBy Yyk7CisJCQlyYyA9IC1FSU87CisJCX0KKworCQlrZnJlZShyc3ApOworCQlrZnJlZShjbWQpOwor CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwl9CisKKwkvKgorCSAqIENoZWNrIGZvciBtaXNz ZWQgZXZlbnRzOiB0aGlzIHJlcXVpcmVzIHF1ZXJ5aW5nIGJhY2tlbmQgc3RhdGUKKwkgKiBDdXJy ZW50bHkgbm90IHN1cHBvcnRlZCBpbiBtb3N0IHZpcnRpby1yZG1hIGltcGxlbWVudGF0aW9ucy4K KwkgKi8KKwlpZiAoZmxhZ3MgJiBJQl9DUV9SRVBPUlRfTUlTU0VEX0VWRU5UUykgeworCQkvKgor CQkgKiBJZGVhbGx5IHdlJ2QgcXVlcnkgdGhlIGhvc3Qgd2hldGhlciBhbiBldmVudCBoYXMgb2Nj dXJyZWQKKwkJICogc2luY2UgbGFzdCBub3RpZnksIGJ1dCB0aGlzIGlzIG9mdGVuIHVuaW1wbGVt ZW50ZWQuCisJCSAqLworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJfQorCisJcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyBzc2l6ZV90IGhjYV90eXBlX3Nob3coc3RydWN0IGRldmljZSAqZGV2aWNlLAor CQkJICAgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXJl dHVybiBzcHJpbnRmKGJ1ZiwgIlZJUlRJTy1SRE1BLSVzXG4iLCBWSVJUSU9fUkRNQV9EUklWRVJf VkVSKTsKK30KK3N0YXRpYyBERVZJQ0VfQVRUUl9STyhoY2FfdHlwZSk7CisKK3N0YXRpYyBzc2l6 ZV90IGh3X3Jldl9zaG93KHN0cnVjdCBkZXZpY2UgKmRldmljZSwKKwkJCSAgIHN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNwcmludGYoYnVmLCAi JWRcbiIsIFZJUlRJT19SRE1BX0hXX1JFVik7Cit9CitzdGF0aWMgREVWSUNFX0FUVFJfUk8oaHdf cmV2KTsKKworc3RhdGljIHNzaXplX3QgYm9hcmRfaWRfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXZp Y2UsCisJCQkgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7 CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIFZJUlRJT19SRE1BX0JPQVJEX0lEKTsKK30K K3N0YXRpYyBERVZJQ0VfQVRUUl9STyhib2FyZF9pZCk7CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmli dXRlICp2cmRtYV9jbGFzc19hdHRyaWJ1dGVzW10gPSB7CisJJmRldl9hdHRyX2h3X3Jldi5hdHRy LAorCSZkZXZfYXR0cl9oY2FfdHlwZS5hdHRyLAorCSZkZXZfYXR0cl9ib2FyZF9pZC5hdHRyLAor CU5VTEwsCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCB2cmRtYV9h dHRyX2dyb3VwID0geworCS5hdHRycyA9IHZyZG1hX2NsYXNzX2F0dHJpYnV0ZXMsCit9OworCiBz dGF0aWMgY29uc3Qgc3RydWN0IGliX2RldmljZV9vcHMgdnJkbWFfZGV2X29wcyA9IHsKIAkub3du ZXIgPSBUSElTX01PRFVMRSwKIAkudXZlcmJzX2FiaV92ZXIgPSBWSVJUSU9fUkRNQV9BQklfVkVS U0lPTiwKQEAgLTI4ODUsNyArMjk5NSwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGliX2Rldmlj ZV9vcHMgdnJkbWFfZGV2X29wcyA9IHsKIAkucG9zdF9zZW5kID0gdnJkbWFfcG9zdF9zZW5kLAog CS5xdWVyeV9wa2V5ID0gdnJkbWFfcXVlcnlfcGtleSwKIAkucXVlcnlfcXAgPSB2cmRtYV9xdWVy eV9xcCwKLQkucmVnX3VzZXJfbXIgPSB2cmRtYV9yZWdfdXNlcl9tciwJCQkKKwkucmVnX3VzZXJf bXIgPSB2cmRtYV9yZWdfdXNlcl9tciwKKwkucmVxX25vdGlmeV9jcSA9IHZyZG1hX3JlcV9ub3Rp ZnlfY3EsCisKKwkuZGV2aWNlX2dyb3VwID0gJnZyZG1hX2F0dHJfZ3JvdXAsCisKKwlJTklUX1JE TUFfT0JKX1NJWkUoaWJfYWgsIHZyZG1hX2FoLCBpYmFoKSwKKwlJTklUX1JETUFfT0JKX1NJWkUo aWJfY3EsIHZyZG1hX2NxLCBpYmNxKSwKKwlJTklUX1JETUFfT0JKX1NJWkUoaWJfcGQsIHZyZG1h X3BkLCBpYnBkKSwKKwlJTklUX1JETUFfT0JKX1NJWkUoaWJfcXAsIHZyZG1hX3FwLCBpYnFwKSwK KwlJTklUX1JETUFfT0JKX1NJWkUoaWJfdWNvbnRleHQsIHZyZG1hX3Vjb250ZXh0LCBpYnVjb250 ZXh0KSwJCQogfTsKIAogLyoqCi0tIAoyLjQzLjAKCg==