From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1059DC6FD1D for ; Thu, 23 Mar 2023 10:46:58 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 83E84613DB; Thu, 23 Mar 2023 10:46:58 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 83E84613DB Authentication-Results: smtp3.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=ZLvTUsk2 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ruDyzAKw7UOB; Thu, 23 Mar 2023 10:46:57 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp3.osuosl.org (Postfix) with ESMTPS id D62B960B4C; Thu, 23 Mar 2023 10:46:56 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org D62B960B4C Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id AEA4EC0035; Thu, 23 Mar 2023 10:46:56 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id BCDE8C0032 for ; Thu, 23 Mar 2023 10:46:54 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 97D4D60B4C for ; Thu, 23 Mar 2023 10:46:54 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 97D4D60B4C X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iBbp0xnLVrXW for ; Thu, 23 Mar 2023 10:46:51 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 9423F60B65 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp3.osuosl.org (Postfix) with ESMTPS id 9423F60B65 for ; Thu, 23 Mar 2023 10:46:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679568410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rExxsengfbWONJGQeEdkqPhkeejLlUTKZmIp0X4adI8=; b=ZLvTUsk2s0kVg8NI0spYASasmqjSyqRcM1hgWekzh9PSMURZINqJxa9gtKQqKfzrbpfBDb DbrzMlyEElS9oRTSgXKeagxaD0CuPaHo7XPdO962BTcRo0aCF89/UXHEHe6eVy7mu/YWta EbIzTQO6CeY4hPWTbo33zUFKgK2iVRU= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-602-wSK3jT_ZNUuVh6fxoR8d0Q-1; Thu, 23 Mar 2023 06:46:43 -0400 X-MC-Unique: wSK3jT_ZNUuVh6fxoR8d0Q-1 Received: by mail-wm1-f71.google.com with SMTP id o37-20020a05600c512500b003edd119ec9eso6675129wms.0 for ; Thu, 23 Mar 2023 03:46:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679568401; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rExxsengfbWONJGQeEdkqPhkeejLlUTKZmIp0X4adI8=; b=XQtMPh5gmgK3zaxMkhGTlWAfbHAva7L/P2AK4LsSAU27juC3RqAON+rYOODtyh27Vh svyNBUz8kyvRu1N04DNJhHzdf4TVAnisVvk2PpdLy6CdHJxvRBorC3tnT/5Vr4kVMuci pPt6jsBaIVNM/Qsz4Kh9Z23mFFFZxS1sE4oRIl0/GIFTwsP+k8FjpcftmyYMdBbV2GcI P66R/ZGQRTfwLMXJ/qY8+WilBEFEr9m35g56xml9EcJ1P8jVLz/Zm79uyp9acqhcwAQF sfYaZMozvtScWQAexJwC6/zE8hdyluXksyHwF/PLd8cx1QdDPMbzZfF/XvC5/RIDyGAk /s/g== X-Gm-Message-State: AO0yUKWVYX8S54lJ2xVsAssWarRke7S7SXolzg1Bi0eIChCB5Mb51NQH Vu26y+EgfKbki6ukbULhfYVbri265/LpC++ItK4vD+ow8xdE6RlokhqPGxS5iVTjCaID4NK0sFS heuJ5cwQSGMzCwvCf1vv2RPeEPQhuoXoQ4RT7iX2cow== X-Received: by 2002:a05:600c:a0c:b0:3ee:90fa:aedf with SMTP id z12-20020a05600c0a0c00b003ee90faaedfmr816428wmp.11.1679568401291; Thu, 23 Mar 2023 03:46:41 -0700 (PDT) X-Google-Smtp-Source: AK7set+DA2e9f9uehfwtsWMqbAlf9hkuL0RebTl4dj8zwyHxcAqQAUK0eho1w6250F8uA0ED6fpCWA== X-Received: by 2002:a05:600c:a0c:b0:3ee:90fa:aedf with SMTP id z12-20020a05600c0a0c00b003ee90faaedfmr816415wmp.11.1679568400957; Thu, 23 Mar 2023 03:46:40 -0700 (PDT) Received: from sgarzare-redhat (host-82-53-134-98.retail.telecomitalia.it. [82.53.134.98]) by smtp.gmail.com with ESMTPSA id t16-20020a7bc3d0000000b003ed1f6878a5sm1535271wmj.5.2023.03.23.03.46.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Mar 2023 03:46:40 -0700 (PDT) Date: Thu, 23 Mar 2023 11:46:38 +0100 From: Stefano Garzarella To: Eugenio Perez Martin Subject: Re: [PATCH v3 4/8] vringh: support VA with iotlb Message-ID: <20230323104638.67hbwwbk7ayp4psq@sgarzare-redhat> References: <20230321154228.182769-1-sgarzare@redhat.com> <20230321154228.182769-5-sgarzare@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline Cc: Andrey Zhadchenko , kvm@vger.kernel.org, "Michael S. Tsirkin" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, stefanha@redhat.com X-BeenThere: virtualization@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux virtualization List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" T24gVGh1LCBNYXIgMjMsIDIwMjMgYXQgMDk6MDk6MTRBTSArMDEwMCwgRXVnZW5pbyBQZXJleiBN YXJ0aW4gd3JvdGU6Cj5PbiBUdWUsIE1hciAyMSwgMjAyMyBhdCA0OjQz4oCvUE0gU3RlZmFubyBH YXJ6YXJlbGxhIDxzZ2FyemFyZUByZWRoYXQuY29tPiB3cm90ZToKPj4KPj4gdkRQQSBzdXBwb3J0 cyB0aGUgcG9zc2liaWxpdHkgdG8gdXNlIHVzZXIgVkEgaW4gdGhlIGlvdGxiIG1lc3NhZ2VzLgo+ PiBTbywgbGV0J3MgYWRkIHN1cHBvcnQgZm9yIHVzZXIgVkEgaW4gdnJpbmdoIHRvIHVzZSBpdCBp biB0aGUgdkRQQQo+PiBzaW11bGF0b3JzLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIEdh cnphcmVsbGEgPHNnYXJ6YXJlQHJlZGhhdC5jb20+Cj4+IC0tLQo+Pgo+PiBOb3RlczoKPj4gICAg IHYzOgo+PiAgICAgLSByZWZhY3RvcmVkIGF2b2lkaW5nIGNvZGUgZHVwbGljYXRpb24gW0V1Z2Vu aW9dCj4+ICAgICB2MjoKPj4gICAgIC0gcmVwbGFjZSBrbWFwX2F0b21pYygpIHdpdGgga21hcF9s b2NhbF9wYWdlKCkgW3NlZSBwcmV2aW91cyBwYXRjaF0KPj4gICAgIC0gZml4IGNhc3Qgd2Fybmlu Z3Mgd2hlbiBidWlsZCB3aXRoIFc9MSBDPTEKPj4KPj4gIGluY2x1ZGUvbGludXgvdnJpbmdoLmgg ICAgICAgICAgICB8ICAgNSArLQo+PiAgZHJpdmVycy92ZHBhL21seDUvbmV0L21seDVfdm5ldC5j IHwgICAyICstCj4+ICBkcml2ZXJzL3ZkcGEvdmRwYV9zaW0vdmRwYV9zaW0uYyAgfCAgIDQgKy0K Pj4gIGRyaXZlcnMvdmhvc3QvdnJpbmdoLmMgICAgICAgICAgICB8IDE1MyArKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0KPj4gIDQgZmlsZXMgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMoKyks IDM3IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC92cmluZ2gu aCBiL2luY2x1ZGUvbGludXgvdnJpbmdoLmgKPj4gaW5kZXggMTk5MWEwMmM2NDMxLi5kMzliOWYy ZGNiYTAgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbGludXgvdnJpbmdoLmgKPj4gKysrIGIvaW5j bHVkZS9saW51eC92cmluZ2guaAo+PiBAQCAtMzIsNiArMzIsOSBAQCBzdHJ1Y3QgdnJpbmdoIHsK Pj4gICAgICAgICAvKiBDYW4gd2UgZ2V0IGF3YXkgd2l0aCB3ZWFrIGJhcnJpZXJzPyAqLwo+PiAg ICAgICAgIGJvb2wgd2Vha19iYXJyaWVyczsKPj4KPj4gKyAgICAgICAvKiBVc2UgdXNlcidzIFZB ICovCj4+ICsgICAgICAgYm9vbCB1c2VfdmE7Cj4+ICsKPj4gICAgICAgICAvKiBMYXN0IGF2YWls YWJsZSBpbmRleCB3ZSBzYXcgKGllLiB3aGVyZSB3ZSdyZSB1cCB0bykuICovCj4+ICAgICAgICAg dTE2IGxhc3RfYXZhaWxfaWR4Owo+Pgo+PiBAQCAtMjc5LDcgKzI4Miw3IEBAIHZvaWQgdnJpbmdo X3NldF9pb3RsYihzdHJ1Y3QgdnJpbmdoICp2cmgsIHN0cnVjdCB2aG9zdF9pb3RsYiAqaW90bGIs Cj4+ICAgICAgICAgICAgICAgICAgICAgICBzcGlubG9ja190ICppb3RsYl9sb2NrKTsKPj4KPj4g IGludCB2cmluZ2hfaW5pdF9pb3RsYihzdHJ1Y3QgdnJpbmdoICp2cmgsIHU2NCBmZWF0dXJlcywK Pj4gLSAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBudW0sIGJvb2wgd2Vha19iYXJy aWVycywKPj4gKyAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBudW0sIGJvb2wgd2Vh a19iYXJyaWVycywgYm9vbCB1c2VfdmEsCj4+ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg dnJpbmdfZGVzYyAqZGVzYywKPj4gICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19h dmFpbCAqYXZhaWwsCj4+ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfdXNlZCAq dXNlZCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZkcGEvbWx4NS9uZXQvbWx4NV92bmV0LmMg Yi9kcml2ZXJzL3ZkcGEvbWx4NS9uZXQvbWx4NV92bmV0LmMKPj4gaW5kZXggNTIwNjQ2YWU3ZmEw Li5kZmQwZTAwMDIxN2IgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmRwYS9tbHg1L25ldC9tbHg1 X3ZuZXQuYwo+PiArKysgYi9kcml2ZXJzL3ZkcGEvbWx4NS9uZXQvbWx4NV92bmV0LmMKPj4gQEAg LTI1MzcsNyArMjUzNyw3IEBAIHN0YXRpYyBpbnQgc2V0dXBfY3ZxX3ZyaW5nKHN0cnVjdCBtbHg1 X3ZkcGFfZGV2ICptdmRldikKPj4KPj4gICAgICAgICBpZiAobXZkZXYtPmFjdHVhbF9mZWF0dXJl cyAmIEJJVF9VTEwoVklSVElPX05FVF9GX0NUUkxfVlEpKQo+PiAgICAgICAgICAgICAgICAgZXJy ID0gdnJpbmdoX2luaXRfaW90bGIoJmN2cS0+dnJpbmcsIG12ZGV2LT5hY3R1YWxfZmVhdHVyZXMs Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNTFg1X0NWUV9NQVhf RU5ULCBmYWxzZSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1M WDVfQ1ZRX01BWF9FTlQsIGZhbHNlLCBmYWxzZSwKPj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChzdHJ1Y3QgdnJpbmdfZGVzYyAqKSh1aW50cHRyX3QpY3ZxLT5kZXNj X2FkZHIsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RydWN0 IHZyaW5nX2F2YWlsICopKHVpbnRwdHJfdCljdnEtPmRyaXZlcl9hZGRyLAo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cnVjdCB2cmluZ191c2VkICopKHVpbnRw dHJfdCljdnEtPmRldmljZV9hZGRyKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmRwYS92ZHBh X3NpbS92ZHBhX3NpbS5jIGIvZHJpdmVycy92ZHBhL3ZkcGFfc2ltL3ZkcGFfc2ltLmMKPj4gaW5k ZXggZWVhMjNjNjMwZjdjLi40N2NkZjJhMWY1YjggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmRw YS92ZHBhX3NpbS92ZHBhX3NpbS5jCj4+ICsrKyBiL2RyaXZlcnMvdmRwYS92ZHBhX3NpbS92ZHBh X3NpbS5jCj4+IEBAIC02MCw3ICs2MCw3IEBAIHN0YXRpYyB2b2lkIHZkcGFzaW1fcXVldWVfcmVh ZHkoc3RydWN0IHZkcGFzaW0gKnZkcGFzaW0sIHVuc2lnbmVkIGludCBpZHgpCj4+ICAgICAgICAg c3RydWN0IHZkcGFzaW1fdmlydHF1ZXVlICp2cSA9ICZ2ZHBhc2ltLT52cXNbaWR4XTsKPj4gICAg ICAgICB1aW50MTZfdCBsYXN0X2F2YWlsX2lkeCA9IHZxLT52cmluZy5sYXN0X2F2YWlsX2lkeDsK Pj4KPj4gLSAgICAgICB2cmluZ2hfaW5pdF9pb3RsYigmdnEtPnZyaW5nLCB2ZHBhc2ltLT5mZWF0 dXJlcywgdnEtPm51bSwgdHJ1ZSwKPj4gKyAgICAgICB2cmluZ2hfaW5pdF9pb3RsYigmdnEtPnZy aW5nLCB2ZHBhc2ltLT5mZWF0dXJlcywgdnEtPm51bSwgdHJ1ZSwgZmFsc2UsCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHN0cnVjdCB2cmluZ19kZXNjICopKHVpbnRwdHJfdCl2cS0+ZGVz Y19hZGRyLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJ1Y3QgdnJpbmdfYXZhaWwg KikKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAodWludHB0cl90KXZxLT5kcml2ZXJfYWRk ciwKPj4gQEAgLTkyLDcgKzkyLDcgQEAgc3RhdGljIHZvaWQgdmRwYXNpbV92cV9yZXNldChzdHJ1 Y3QgdmRwYXNpbSAqdmRwYXNpbSwKPj4gICAgICAgICB2cS0+Y2IgPSBOVUxMOwo+PiAgICAgICAg IHZxLT5wcml2YXRlID0gTlVMTDsKPj4gICAgICAgICB2cmluZ2hfaW5pdF9pb3RsYigmdnEtPnZy aW5nLCB2ZHBhc2ltLT5kZXZfYXR0ci5zdXBwb3J0ZWRfZmVhdHVyZXMsCj4+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgVkRQQVNJTV9RVUVVRV9NQVgsIGZhbHNlLCBOVUxMLCBOVUxMLCBOVUxM KTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBWRFBBU0lNX1FVRVVFX01BWCwgZmFsc2Us IGZhbHNlLCBOVUxMLCBOVUxMLCBOVUxMKTsKPj4KPj4gICAgICAgICB2cS0+dnJpbmcubm90aWZ5 ID0gTlVMTDsKPj4gIH0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmhvc3QvdnJpbmdoLmMgYi9k cml2ZXJzL3Zob3N0L3ZyaW5naC5jCj4+IGluZGV4IDBiYTNlZjgwOWU0OC4uNzJjODg1MTkzMjlh IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3Zob3N0L3ZyaW5naC5jCj4+ICsrKyBiL2RyaXZlcnMv dmhvc3QvdnJpbmdoLmMKPj4gQEAgLTEwOTQsMTAgKzEwOTQsMTggQEAgRVhQT1JUX1NZTUJPTCh2 cmluZ2hfbmVlZF9ub3RpZnlfa2Vybik7Cj4+Cj4+ICAjaWYgSVNfUkVBQ0hBQkxFKENPTkZJR19W SE9TVF9JT1RMQikKPj4KPj4gK3N0cnVjdCBpb3RsYl92ZWMgewo+PiArICAgICAgIHVuaW9uIHsK Pj4gKyAgICAgICAgICAgICAgIHN0cnVjdCBpb3ZlYyAqaW92ZWM7Cj4+ICsgICAgICAgICAgICAg ICBzdHJ1Y3QgYmlvX3ZlYyAqYnZlYzsKPj4gKyAgICAgICB9IGlvdjsKPj4gKyAgICAgICBzaXpl X3QgY291bnQ7Cj4+ICsgICAgICAgYm9vbCBpc19pb3ZlYzsKPj4gK307Cj4+ICsKPj4gIHN0YXRp YyBpbnQgaW90bGJfdHJhbnNsYXRlKGNvbnN0IHN0cnVjdCB2cmluZ2ggKnZyaCwKPj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgdTY0IGFkZHIsIHU2NCBsZW4sIHU2NCAqdHJhbnNsYXRlZCwK Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJpb192ZWMgaW92W10sCj4+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpb3Zfc2l6ZSwgdTMyIHBlcm0pCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpb3RsYl92ZWMgKml2ZWMsIHUzMiBwZXJtKQo+ PiAgewo+PiAgICAgICAgIHN0cnVjdCB2aG9zdF9pb3RsYl9tYXAgKm1hcDsKPj4gICAgICAgICBz dHJ1Y3Qgdmhvc3RfaW90bGIgKmlvdGxiID0gdnJoLT5pb3RsYjsKPj4gQEAgLTExMDcsOSArMTEx NSw5IEBAIHN0YXRpYyBpbnQgaW90bGJfdHJhbnNsYXRlKGNvbnN0IHN0cnVjdCB2cmluZ2ggKnZy aCwKPj4gICAgICAgICBzcGluX2xvY2sodnJoLT5pb3RsYl9sb2NrKTsKPj4KPj4gICAgICAgICB3 aGlsZSAobGVuID4gcykgewo+PiAtICAgICAgICAgICAgICAgdTY0IHNpemUsIHBhLCBwZm47Cj4+ ICsgICAgICAgICAgICAgICB1NjQgc2l6ZTsKPj4KPj4gLSAgICAgICAgICAgICAgIGlmICh1bmxp a2VseShyZXQgPj0gaW92X3NpemUpKSB7Cj4+ICsgICAgICAgICAgICAgICBpZiAodW5saWtlbHko cmV0ID49IGl2ZWMtPmNvdW50KSkgewo+PiAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAt RU5PQlVGUzsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4+ICAgICAgICAgICAg ICAgICB9Cj4+IEBAIC0xMTI0LDEwICsxMTMyLDIyIEBAIHN0YXRpYyBpbnQgaW90bGJfdHJhbnNs YXRlKGNvbnN0IHN0cnVjdCB2cmluZ2ggKnZyaCwKPj4gICAgICAgICAgICAgICAgIH0KPj4KPj4g ICAgICAgICAgICAgICAgIHNpemUgPSBtYXAtPnNpemUgLSBhZGRyICsgbWFwLT5zdGFydDsKPj4g LSAgICAgICAgICAgICAgIHBhID0gbWFwLT5hZGRyICsgYWRkciAtIG1hcC0+c3RhcnQ7Cj4+IC0g ICAgICAgICAgICAgICBwZm4gPSBwYSA+PiBQQUdFX1NISUZUOwo+PiAtICAgICAgICAgICAgICAg YnZlY19zZXRfcGFnZSgmaW92W3JldF0sIHBmbl90b19wYWdlKHBmbiksIG1pbihsZW4gLSBzLCBz aXplKSwKPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGEgJiAoUEFHRV9TSVpFIC0g MSkpOwo+PiArICAgICAgICAgICAgICAgaWYgKGl2ZWMtPmlzX2lvdmVjKSB7Cj4+ICsgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBpb3ZlYyAqaW92ZWMgPSBpdmVjLT5pb3YuaW92ZWM7Cj4+ ICsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgaW92ZWNbcmV0XS5pb3ZfbGVuID0gbWluKGxl biAtIHMsIHNpemUpOwo+PiArICAgICAgICAgICAgICAgICAgICAgICBpb3ZlY1tyZXRdLmlvdl9i YXNlID0gKHZvaWQgX191c2VyICopKHVuc2lnbmVkIGxvbmcpCj4KPnMvdW5zaWduZWQgbG9uZy91 aW50cHRyX3QgPwo+Cgp5ZXAsIGdvb2QgY2F0Y2ghCgpBcyBJIHdyb3RlIHRvIEphc29uLCBJIHRo aW5rIEknbGwgdGFrZSBpdCBvdXQgb2YgdGhlIGlmIGFuZCBqdXN0IGRlY2xhcmUgCmFuIHVpbnRw dHJfdCB2YXJpYWJsZSwgc2luY2UgSSdtIHVzaW5nIGl0IGFsc28gaW4gdGhlIGVsc2UgYnJhbmNo LgoKPgo+Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bWFwLT5hZGRyICsgYWRkciAtIG1hcC0+c3RhcnQpOwo+PiArICAgICAgICAgICAgICAgfSBlbHNl IHsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgdTY0IHBhID0gbWFwLT5hZGRyICsgYWRkciAt IG1hcC0+c3RhcnQ7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHU2NCBwZm4gPSBwYSA+PiBQ QUdFX1NISUZUOwo+PiArICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYmlvX3ZlYyAqYnZl YyA9IGl2ZWMtPmlvdi5idmVjOwo+PiArCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGJ2ZWNf c2V0X3BhZ2UoJmJ2ZWNbcmV0XSwgcGZuX3RvX3BhZ2UocGZuKSwKPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtaW4obGVuIC0gcywgc2l6ZSksCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGEgJiAoUEFHRV9TSVpFIC0gMSkpOwo+PiArICAg ICAgICAgICAgICAgfQo+PiArCj4+ICAgICAgICAgICAgICAgICBzICs9IHNpemU7Cj4+ICAgICAg ICAgICAgICAgICBhZGRyICs9IHNpemU7Cj4+ICAgICAgICAgICAgICAgICArK3JldDsKPj4gQEAg LTExNDEsMjYgKzExNjEsNDIgQEAgc3RhdGljIGludCBpb3RsYl90cmFuc2xhdGUoY29uc3Qgc3Ry dWN0IHZyaW5naCAqdnJoLAo+PiAgICAgICAgIHJldHVybiByZXQ7Cj4+ICB9Cj4+Cj4+ICsjZGVm aW5lIElPVExCX0lPVl9TSVpFIDE2Cj4KPkknbSBmaW5lIHdpdGggZGVmaW5pbmcgaGVyZSwgYnV0 IG1heWJlIGl0IGlzIGJldHRlciB0byBpc29sYXRlIHRoZQo+Y2hhbmdlIGluIGEgcHJldmlvdXMg cGF0Y2ggb3IgcmV1c2UgYW5vdGhlciB3ZWxsIGtub3duIG1hY3JvPwoKWWVwLCBnb29kIHBvaW50 IQoKRG8geW91IGhhdmUgYW55IHdlbGwga25vd24gbWFjcm8gdG8gc3VnZ2VzdD8KCj4KPk90aGVy IGxvb2tzIGdvb2QsIGFuZCBJIGFncmVlIHdpdGggSmFzb24ncyBjb21tZW50cyBzbyBldmVuIGlm IHRoZQo+bWFjcm8gZGVjbGFyYXRpb24gaXMgbm90IG1vdmVkOgo+Cj5BY2tlZC1ieTogRXVnZW5p byBQw6lyZXogPGVwZXJlem1hQHJlZGhhdC5jb20+CgpUaGFua3MsClN0ZWZhbm8KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClZpcnR1YWxpemF0aW9uIG1h aWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRw czovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXph dGlvbg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2AE28C6FD1D for ; Thu, 23 Mar 2023 10:50:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231675AbjCWKus (ORCPT ); Thu, 23 Mar 2023 06:50:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229964AbjCWKtX (ORCPT ); Thu, 23 Mar 2023 06:49:23 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F9D61BAF9 for ; Thu, 23 Mar 2023 03:46:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679568403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rExxsengfbWONJGQeEdkqPhkeejLlUTKZmIp0X4adI8=; b=Iv4zQFfXJHT6aX8b7QjlhYB4Y+llVLnukcPltCfAEmE32WdHKyWQeSk/+b+R6Hi8Pkw9YO bw2VKS2mw0Or5W0MOTcLW0YDreg84rNCAAfSXdqikkz89MAvI6/dYLhgcxNTuHXToixU6J M3aLD7G0B/GlJLA9vkn+VvHMNgqs8S8= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-561-1eocj0KXOGO5DMrcRlTQZw-1; Thu, 23 Mar 2023 06:46:42 -0400 X-MC-Unique: 1eocj0KXOGO5DMrcRlTQZw-1 Received: by mail-wm1-f71.google.com with SMTP id d11-20020a05600c34cb00b003ee89ce8cc3so684415wmq.7 for ; Thu, 23 Mar 2023 03:46:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679568401; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rExxsengfbWONJGQeEdkqPhkeejLlUTKZmIp0X4adI8=; b=QAzFfi/dfiOJhluV2zEXBewfw1Kamh/TjkP8tn0PuCD8F2bxpXLpmtfedOAqLKOU+T BrsZKol9+Op4Kd6kwN71pTaEyWphK7rh+RAqITFl2lgnJJdww/MP2ye+mQgQTJcfbVAa Nd+gakrVw7s9jbLIniR9/U6WHF/PnwEWoIm8qulwJ0WM6xjvToHkdzBuayDISazE6Ea+ 6p7j/T5EvAypT5vh/dFtCLQrJtPWg5657LHL7eqsIpsri8QxG57DGQbCOWNzTxliuOyI qFJqARpHdKBF47GUmPcjxuDTli8juu0lTQ8+Io7NdBEfqOa1IuehLG6FJmk8ZM18plHD wxlw== X-Gm-Message-State: AO0yUKX1uwcaz8NG5DX7WhIBkVgkZC5qArcUKYjz54vFZulyPT8Hav27 sa4wGWbKPkhxuOWUww1Xsnp60Rs2cv2InOiJcWxDlfBeF1hiZxLt+uhY0wFjEMwkE4wXibj1mvt rVsjCLuEqfnDRwViNAjKAfZI7 X-Received: by 2002:a05:600c:a0c:b0:3ee:90fa:aedf with SMTP id z12-20020a05600c0a0c00b003ee90faaedfmr816427wmp.11.1679568401290; Thu, 23 Mar 2023 03:46:41 -0700 (PDT) X-Google-Smtp-Source: AK7set+DA2e9f9uehfwtsWMqbAlf9hkuL0RebTl4dj8zwyHxcAqQAUK0eho1w6250F8uA0ED6fpCWA== X-Received: by 2002:a05:600c:a0c:b0:3ee:90fa:aedf with SMTP id z12-20020a05600c0a0c00b003ee90faaedfmr816415wmp.11.1679568400957; Thu, 23 Mar 2023 03:46:40 -0700 (PDT) Received: from sgarzare-redhat (host-82-53-134-98.retail.telecomitalia.it. [82.53.134.98]) by smtp.gmail.com with ESMTPSA id t16-20020a7bc3d0000000b003ed1f6878a5sm1535271wmj.5.2023.03.23.03.46.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Mar 2023 03:46:40 -0700 (PDT) Date: Thu, 23 Mar 2023 11:46:38 +0100 From: Stefano Garzarella To: Eugenio Perez Martin Cc: virtualization@lists.linux-foundation.org, stefanha@redhat.com, "Michael S. Tsirkin" , Andrey Zhadchenko , netdev@vger.kernel.org, Jason Wang , kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 4/8] vringh: support VA with iotlb Message-ID: <20230323104638.67hbwwbk7ayp4psq@sgarzare-redhat> References: <20230321154228.182769-1-sgarzare@redhat.com> <20230321154228.182769-5-sgarzare@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 23, 2023 at 09:09:14AM +0100, Eugenio Perez Martin wrote: >On Tue, Mar 21, 2023 at 4:43 PM Stefano Garzarella wrote: >> >> vDPA supports the possibility to use user VA in the iotlb messages. >> So, let's add support for user VA in vringh to use it in the vDPA >> simulators. >> >> Signed-off-by: Stefano Garzarella >> --- >> >> Notes: >> v3: >> - refactored avoiding code duplication [Eugenio] >> v2: >> - replace kmap_atomic() with kmap_local_page() [see previous patch] >> - fix cast warnings when build with W=1 C=1 >> >> include/linux/vringh.h | 5 +- >> drivers/vdpa/mlx5/net/mlx5_vnet.c | 2 +- >> drivers/vdpa/vdpa_sim/vdpa_sim.c | 4 +- >> drivers/vhost/vringh.c | 153 +++++++++++++++++++++++------- >> 4 files changed, 127 insertions(+), 37 deletions(-) >> >> diff --git a/include/linux/vringh.h b/include/linux/vringh.h >> index 1991a02c6431..d39b9f2dcba0 100644 >> --- a/include/linux/vringh.h >> +++ b/include/linux/vringh.h >> @@ -32,6 +32,9 @@ struct vringh { >> /* Can we get away with weak barriers? */ >> bool weak_barriers; >> >> + /* Use user's VA */ >> + bool use_va; >> + >> /* Last available index we saw (ie. where we're up to). */ >> u16 last_avail_idx; >> >> @@ -279,7 +282,7 @@ void vringh_set_iotlb(struct vringh *vrh, struct vhost_iotlb *iotlb, >> spinlock_t *iotlb_lock); >> >> int vringh_init_iotlb(struct vringh *vrh, u64 features, >> - unsigned int num, bool weak_barriers, >> + unsigned int num, bool weak_barriers, bool use_va, >> struct vring_desc *desc, >> struct vring_avail *avail, >> struct vring_used *used); >> diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c >> index 520646ae7fa0..dfd0e000217b 100644 >> --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c >> +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c >> @@ -2537,7 +2537,7 @@ static int setup_cvq_vring(struct mlx5_vdpa_dev *mvdev) >> >> if (mvdev->actual_features & BIT_ULL(VIRTIO_NET_F_CTRL_VQ)) >> err = vringh_init_iotlb(&cvq->vring, mvdev->actual_features, >> - MLX5_CVQ_MAX_ENT, false, >> + MLX5_CVQ_MAX_ENT, false, false, >> (struct vring_desc *)(uintptr_t)cvq->desc_addr, >> (struct vring_avail *)(uintptr_t)cvq->driver_addr, >> (struct vring_used *)(uintptr_t)cvq->device_addr); >> diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c >> index eea23c630f7c..47cdf2a1f5b8 100644 >> --- a/drivers/vdpa/vdpa_sim/vdpa_sim.c >> +++ b/drivers/vdpa/vdpa_sim/vdpa_sim.c >> @@ -60,7 +60,7 @@ static void vdpasim_queue_ready(struct vdpasim *vdpasim, unsigned int idx) >> struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx]; >> uint16_t last_avail_idx = vq->vring.last_avail_idx; >> >> - vringh_init_iotlb(&vq->vring, vdpasim->features, vq->num, true, >> + vringh_init_iotlb(&vq->vring, vdpasim->features, vq->num, true, false, >> (struct vring_desc *)(uintptr_t)vq->desc_addr, >> (struct vring_avail *) >> (uintptr_t)vq->driver_addr, >> @@ -92,7 +92,7 @@ static void vdpasim_vq_reset(struct vdpasim *vdpasim, >> vq->cb = NULL; >> vq->private = NULL; >> vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features, >> - VDPASIM_QUEUE_MAX, false, NULL, NULL, NULL); >> + VDPASIM_QUEUE_MAX, false, false, NULL, NULL, NULL); >> >> vq->vring.notify = NULL; >> } >> diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c >> index 0ba3ef809e48..72c88519329a 100644 >> --- a/drivers/vhost/vringh.c >> +++ b/drivers/vhost/vringh.c >> @@ -1094,10 +1094,18 @@ EXPORT_SYMBOL(vringh_need_notify_kern); >> >> #if IS_REACHABLE(CONFIG_VHOST_IOTLB) >> >> +struct iotlb_vec { >> + union { >> + struct iovec *iovec; >> + struct bio_vec *bvec; >> + } iov; >> + size_t count; >> + bool is_iovec; >> +}; >> + >> static int iotlb_translate(const struct vringh *vrh, >> u64 addr, u64 len, u64 *translated, >> - struct bio_vec iov[], >> - int iov_size, u32 perm) >> + struct iotlb_vec *ivec, u32 perm) >> { >> struct vhost_iotlb_map *map; >> struct vhost_iotlb *iotlb = vrh->iotlb; >> @@ -1107,9 +1115,9 @@ static int iotlb_translate(const struct vringh *vrh, >> spin_lock(vrh->iotlb_lock); >> >> while (len > s) { >> - u64 size, pa, pfn; >> + u64 size; >> >> - if (unlikely(ret >= iov_size)) { >> + if (unlikely(ret >= ivec->count)) { >> ret = -ENOBUFS; >> break; >> } >> @@ -1124,10 +1132,22 @@ static int iotlb_translate(const struct vringh *vrh, >> } >> >> size = map->size - addr + map->start; >> - pa = map->addr + addr - map->start; >> - pfn = pa >> PAGE_SHIFT; >> - bvec_set_page(&iov[ret], pfn_to_page(pfn), min(len - s, size), >> - pa & (PAGE_SIZE - 1)); >> + if (ivec->is_iovec) { >> + struct iovec *iovec = ivec->iov.iovec; >> + >> + iovec[ret].iov_len = min(len - s, size); >> + iovec[ret].iov_base = (void __user *)(unsigned long) > >s/unsigned long/uintptr_t ? > yep, good catch! As I wrote to Jason, I think I'll take it out of the if and just declare an uintptr_t variable, since I'm using it also in the else branch. > > >> + (map->addr + addr - map->start); >> + } else { >> + u64 pa = map->addr + addr - map->start; >> + u64 pfn = pa >> PAGE_SHIFT; >> + struct bio_vec *bvec = ivec->iov.bvec; >> + >> + bvec_set_page(&bvec[ret], pfn_to_page(pfn), >> + min(len - s, size), >> + pa & (PAGE_SIZE - 1)); >> + } >> + >> s += size; >> addr += size; >> ++ret; >> @@ -1141,26 +1161,42 @@ static int iotlb_translate(const struct vringh *vrh, >> return ret; >> } >> >> +#define IOTLB_IOV_SIZE 16 > >I'm fine with defining here, but maybe it is better to isolate the >change in a previous patch or reuse another well known macro? Yep, good point! Do you have any well known macro to suggest? > >Other looks good, and I agree with Jason's comments so even if the >macro declaration is not moved: > >Acked-by: Eugenio Pérez Thanks, Stefano