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 35198C10F1B for ; Tue, 27 Dec 2022 14:37:32 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id A619960C05; Tue, 27 Dec 2022 14:37:31 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org A619960C05 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=fzPa3yTR 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 nhPUOILRE_Zy; Tue, 27 Dec 2022 14:37:30 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTPS id 0808A60C06; Tue, 27 Dec 2022 14:37:29 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 0808A60C06 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id C965FC0032; Tue, 27 Dec 2022 14:37:29 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 3769EC002D for ; Tue, 27 Dec 2022 14:37:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 1192040459 for ; Tue, 27 Dec 2022 14:37:29 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 1192040459 Authentication-Results: smtp2.osuosl.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=fzPa3yTR X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I-Al8izZQBCy for ; Tue, 27 Dec 2022 14:37:28 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 01CE8401AD Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by smtp2.osuosl.org (Postfix) with ESMTPS id 01CE8401AD for ; Tue, 27 Dec 2022 14:37:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672151846; 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=xgCz+tLYAfF9d3fkcqmVpnYWdED3weMm6ilwwtC+TyE=; b=fzPa3yTR0JMwQ2SRs2eYsCz1kzN+CqeiQ+fPLwe/jhSqbLDmFEFaa7BqFkGttHPamBvl+X uuyhCCXvSaHzRf79ttaQzO3nV+PYSj3eH+V3vuWktrdpwh0MC3+GdUZf+fA9J0dCe8cvRs bEGRzpsuNXBqAgDZ0r55h+CnYJPGWZ4= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-107-YCkLzJaWMAmHYkv7rrN9Ag-1; Tue, 27 Dec 2022 09:37:25 -0500 X-MC-Unique: YCkLzJaWMAmHYkv7rrN9Ag-1 Received: by mail-wr1-f69.google.com with SMTP id t18-20020adfa2d2000000b00277e6c6f275so693256wra.0 for ; Tue, 27 Dec 2022 06:37:24 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=xgCz+tLYAfF9d3fkcqmVpnYWdED3weMm6ilwwtC+TyE=; b=lPM1gyzOJ4UCvZNhNdmIMD/IUI//JX1gttajWH4yJdK/z6KyshRd1f8TwZGrciPBwy +vMak/TutGC96FgKov91mxhI88kqf55CfRP8kwoe3F6bfBP0DTmSdCTnDmtp73XNNi5i M72yqpZcq4LqnQtatoWL4BpHN5DBrHnpbTVA7bhiJFK4gOKL3h+YxIyo+pDn7BLFC9LW A/YxtVHdHDu0eZtB90reYeq0XdTUrSHGRw93De5iDgch87iIDxp8ylvMxRYJc0zQaO9C bfFq5+JDTNwfJG0zdOXEp466vQELPgFe2Xsg4T42gECyBnBpAgLz8WOwUyvCXusa+7yI UJwQ== X-Gm-Message-State: AFqh2kpM0VNFWyrvRVtt8slMKalWFpi9Gu3PqPUO3PmFufBZ2J4KNd0S ThK5sCGzs8OfCveCx4ozKGFDDdAVaj9gTd9zPd3yQT+dChoRGxF5wbXOsEzCLoUGrLW5xPGFwgZ +OBTct/qI2apKJydu4L12qZl4a5Q1knKwe1USUL9XsA== X-Received: by 2002:adf:e810:0:b0:276:4089:81c2 with SMTP id o16-20020adfe810000000b00276408981c2mr7127720wrm.41.1672151843986; Tue, 27 Dec 2022 06:37:23 -0800 (PST) X-Google-Smtp-Source: AMrXdXuEQROGF+oitUSmj1Q8NX620ccWWcAn/1+eRYCelPItDeRg6waNVMMHTHrgmKbV/c3RtVQv9g== X-Received: by 2002:adf:e810:0:b0:276:4089:81c2 with SMTP id o16-20020adfe810000000b00276408981c2mr7127707wrm.41.1672151843730; Tue, 27 Dec 2022 06:37:23 -0800 (PST) Received: from redhat.com ([2.52.151.85]) by smtp.gmail.com with ESMTPSA id v18-20020a5d6792000000b0027e5501f7f5sm5002656wru.53.2022.12.27.06.37.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Dec 2022 06:37:23 -0800 (PST) Date: Tue, 27 Dec 2022 09:37:20 -0500 From: "Michael S. Tsirkin" To: Shunsuke Mie Subject: Re: [RFC PATCH 4/9] vringh: unify the APIs for all accessors Message-ID: <20221227075332-mutt-send-email-mst@kernel.org> References: <20221227022528.609839-1-mie@igel.co.jp> <20221227022528.609839-5-mie@igel.co.jp> <20221227020007-mutt-send-email-mst@kernel.org> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline Cc: kvm@vger.kernel.org, netdev@vger.kernel.org, Rusty Russell , linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" T24gVHVlLCBEZWMgMjcsIDIwMjIgYXQgMDc6MjI6MzZQTSArMDkwMCwgU2h1bnN1a2UgTWllIHdy b3RlOgo+IDIwMjLlubQxMuaciDI35pelKOeBqykgMTY6NDkgU2h1bnN1a2UgTWllIDxtaWVAaWdl bC5jby5qcD46Cj4gPgo+ID4gMjAyMuW5tDEy5pyIMjfml6Uo54GrKSAxNjowNCBNaWNoYWVsIFMu IFRzaXJraW4gPG1zdEByZWRoYXQuY29tPjoKPiA+ID4KPiA+ID4gT24gVHVlLCBEZWMgMjcsIDIw MjIgYXQgMTE6MjU6MjZBTSArMDkwMCwgU2h1bnN1a2UgTWllIHdyb3RlOgo+ID4gPiA+IEVhY2gg dnJpbmdoIG1lbW9yeSBhY2Nlc3NvcnMgdGhhdCBhcmUgZm9yIHVzZXIsIGtlcm4gYW5kIGlvdGxi IGhhcyBvd24KPiA+ID4gPiBpbnRlcmZhY2VzIHRoYXQgY2FsbHMgY29tbW9uIGNvZGUuIEJ1dCBz b21lIGNvZGVzIGFyZSBkdXBsaWNhdGVkIGFuZCB0aGF0Cj4gPiA+ID4gYmVjb21lcyBsb3NzIGV4 dGVuZGFiaWxpdHkuCj4gPiA+ID4KPiA+ID4gPiBJbnRyb2R1Y2UgYSBzdHJ1Y3QgdnJpbmdoX29w cyBhbmQgcHJvdmlkZSBhIGNvbW1vbiBBUElzIGZvciBhbGwgYWNjZXNzb3JzLgo+ID4gPiA+IEl0 IGNhbiBiZWUgZWFzaWx5IGV4dGVuZGVkIHZyaW5naCBjb2RlIGZvciBuZXcgbWVtb3J5IGFjY2Vz c29yIGFuZAo+ID4gPiA+IHNpbXBsaWZpZWQgYSBjYWxsZXIgY29kZS4KPiA+ID4gPgo+ID4gPiA+ IFNpZ25lZC1vZmYtYnk6IFNodW5zdWtlIE1pZSA8bWllQGlnZWwuY28uanA+Cj4gPiA+ID4gLS0t Cj4gPiA+ID4gIGRyaXZlcnMvdmhvc3QvdnJpbmdoLmMgfCA2NjcgKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gPiAgaW5jbHVkZS9saW51eC92cmluZ2guaCB8 IDEwMCArKystLS0KPiA+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAyMjUgaW5zZXJ0aW9ucygrKSwg NTQyIGRlbGV0aW9ucygtKQo+ID4gPiA+Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmhv c3QvdnJpbmdoLmMgYi9kcml2ZXJzL3Zob3N0L3ZyaW5naC5jCj4gPiA+ID4gaW5kZXggYWEzY2Qy N2QyMzg0Li5lYmZkMzY0NGExYTMgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy92aG9zdC92 cmluZ2guYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvdmhvc3QvdnJpbmdoLmMKPiA+ID4gPiBAQCAt MzUsMTUgKzM1LDEyIEBAIHN0YXRpYyBfX3ByaW50ZigxLDIpIF9fY29sZCB2b2lkIHZyaW5naF9i YWQoY29uc3QgY2hhciAqZm10LCAuLi4pCj4gPiA+ID4gIH0KPiA+ID4gPgo+ID4gPiA+ICAvKiBS ZXR1cm5zIHZyaW5nLT5udW0gaWYgZW1wdHksIC12ZSBvbiBlcnJvci4gKi8KPiA+ID4gPiAtc3Rh dGljIGlubGluZSBpbnQgX192cmluZ2hfZ2V0X2hlYWQoY29uc3Qgc3RydWN0IHZyaW5naCAqdnJo LAo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKCpnZXR1MTYp KGNvbnN0IHN0cnVjdCB2cmluZ2ggKnZyaCwKPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1MTYgKnZhbCwgY29uc3QgX192aXJ0aW8xNiAqcCks Cj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUxNiAqbGFzdF9hdmFp bF9pZHgpCj4gPiA+ID4gK3N0YXRpYyBpbmxpbmUgaW50IF9fdnJpbmdoX2dldF9oZWFkKGNvbnN0 IHN0cnVjdCB2cmluZ2ggKnZyaCwgdTE2ICpsYXN0X2F2YWlsX2lkeCkKPiA+ID4gPiAgewo+ID4g PiA+ICAgICAgIHUxNiBhdmFpbF9pZHgsIGksIGhlYWQ7Cj4gPiA+ID4gICAgICAgaW50IGVycjsK PiA+ID4gPgo+ID4gPiA+IC0gICAgIGVyciA9IGdldHUxNih2cmgsICZhdmFpbF9pZHgsICZ2cmgt PnZyaW5nLmF2YWlsLT5pZHgpOwo+ID4gPiA+ICsgICAgIGVyciA9IHZyaC0+b3BzLmdldHUxNih2 cmgsICZhdmFpbF9pZHgsICZ2cmgtPnZyaW5nLmF2YWlsLT5pZHgpOwo+ID4gPiA+ICAgICAgIGlm IChlcnIpIHsKPiA+ID4gPiAgICAgICAgICAgICAgIHZyaW5naF9iYWQoIkZhaWxlZCB0byBhY2Nl c3MgYXZhaWwgaWR4IGF0ICVwIiwKPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgJnZy aC0+dnJpbmcuYXZhaWwtPmlkeCk7Cj4gPiA+Cj4gPiA+IEkgbGlrZSB0aGF0IHRoaXMgcGF0Y2gg cmVtb3ZlcyBtb3JlIGxpbmVzIG9mIGNvZGUgdGhhbiBpdCBhZGRzLgo+ID4gPgo+ID4gPiBIb3dl dmVyIG9uZSBvZiB0aGUgZGVzaWduIHBvaW50cyBvZiB2cmluZ2ggYWJzdHJhY3Rpb25zIGlzIHRo YXQgdGhleSB3ZXJlCj4gPiA+IGNhcmVmdWxseSB3cml0dGVuIHRvIGJlIHZlcnkgbG93IG92ZXJo ZWFkLgo+ID4gPiBUaGlzIGlzIHdoeSB3ZSBhcmUgcGFzc2luZyBmdW5jdGlvbiBwb2ludGVycyB0 byBpbmxpbmUgZnVuY3Rpb25zIC0KPiA+ID4gY29tcGlsZXIgY2FuIG9wdGltaXplIHRoYXQgb3V0 Lgo+ID4gPgo+ID4gPiBJIHRoaW5rIHRoYXQgaW50cm9kdWNpbmcgb3BzIGluZGlyZWN0IGZ1bmN0 aW9ucyBjYWxscyBoZXJlIGlzIGdvaW5nIHRvIGJyZWFrCj4gPiA+IHRoZXNlIGFzc3VtcHRpb25z IGFuZCBodXJ0IHBlcmZvcm1hbmNlLgo+ID4gPiBVbmxlc3MgY29tcGlsZXIgY2FuIHNvbWVob3cg ZmlndXJlIGl0IG91dCBhbmQgb3B0aW1pemU/Cj4gPiA+IEkgZG9uJ3Qgc2VlIGhvdyBpdCdzIHBv c3NpYmxlIHdpdGggb3BzIHBvaW50ZXIgaW4gbWVtb3J5Cj4gPiA+IGJ1dCBtYXliZSBJJ20gd3Jv bmcuCj4gPiBJIHRoaW5rIHlvdXIgY29uY2VybiBpcyBjb3JyZWN0LiBJIGhhdmUgdG8gdW5kZXJz dGFuZCB0aGUgY29tcGlsZXIKPiA+IG9wdGltaXphdGlvbiBhbmQgcmVkZXNpZ24gdGhpcyBhcHBy b2FjaCBJZiBpdCBpcyBuZWVkZWQuCj4gPiA+IFdhcyBhbnkgZWZmb3J0IHRha2VuIHRvIHRlc3Qg ZWZmZWN0IG9mIHRoZXNlIHBhdGNoZXMgb24gcGVyZm9ybWFuY2U/Cj4gPiBJIGp1c3QgdGVzdGVk IHZyaW5naF90ZXN0IGFuZCBhbHJlYWR5IGZhY2VkIGxpdHRsZSBwZXJmb3JtYW5jZSByZWR1Y3Rp b24uCj4gPiBJIGhhdmUgdG8gaW52ZXN0aWdhdGUgdGhhdCwgYXMgeW91IHNhaWQuCj4gSSBhdHRl bXB0ZWQgdG8gdGVzdCB3aXRoIHBlcmYuIEkgZm91bmQgdGhhdCB0aGUgcGVyZm9ybWFuY2Ugb2Yg cGF0Y2hlZCBjb2RlCj4gaXMgYWxtb3N0IHRoZSBzYW1lIGFzIHRoZSB1cHN0cmVhbSBvbmUuIEhv d2V2ZXIsIEkgaGF2ZSB0byBpbnZlc3RpZ2F0ZSB3YXkKPiB0aGlzIHBhdGNoIGxlYWRzIHRvIHRo aXMgcmVzdWx0LCBhbHNvIHRoZSBwcm9maWxpbmcgc2hvdWxkIGJlIHJ1biBvbgo+IG1vcmUgcG93 ZXJmdWwKPiBtYWNoaW5lcyB0b28uCj4gCj4gZW52aXJvbm1lbnQ6Cj4gJCBncmVwICdtb2RlbCBu YW1lJyAvcHJvYy9jcHVpbmZvCj4gbW9kZWwgbmFtZSAgICAgIDogSW50ZWwoUikgQ29yZShUTSkg aTMtNzAyMFUgQ1BVIEAgMi4zMEdIego+IG1vZGVsIG5hbWUgICAgICA6IEludGVsKFIpIENvcmUo VE0pIGkzLTcwMjBVIENQVSBAIDIuMzBHSHoKPiBtb2RlbCBuYW1lICAgICAgOiBJbnRlbChSKSBD b3JlKFRNKSBpMy03MDIwVSBDUFUgQCAyLjMwR0h6Cj4gbW9kZWwgbmFtZSAgICAgIDogSW50ZWwo UikgQ29yZShUTSkgaTMtNzAyMFUgQ1BVIEAgMi4zMEdIego+IAo+IHJlc3VsdHM6Cj4gKiBmb3Ig cGF0Y2hlZCBjb2RlCj4gIFBlcmZvcm1hbmNlIGNvdW50ZXIgc3RhdHMgZm9yICduaWNlIC1uIC0y MCAuL3ZyaW5naF90ZXN0X3BhdGNoZWQKPiAtLXBhcmFsbGVsIC0tZXZlbnRpZHggLS1mYXN0LXZy aW5naCAtLWluZGlyZWN0IC0tdmlydGlvLTEnICgyMCBydW5zKToKPiAKPiAgICAgICAgICAgMyww MjguMDUgbXNlYyB0YXNrLWNsb2NrICAgICAgICAgICAgICAgICMgICAgMC45OTUgQ1BVcwo+IHV0 aWxpemVkICAgICAgICAgICAgKCArLSAgMC4xMiUgKQo+ICAgICAgICAgICAgIDc4LDE1MCAgICAg IGNvbnRleHQtc3dpdGNoZXMgICAgICAgICAgIyAgIDI1LjY5MSBLL3NlYwo+ICAgICAgICAgICAg ICAgICggKy0gIDAuMDAlICkKPiAgICAgICAgICAgICAgICAgIDUgICAgICBjcHUtbWlncmF0aW9u cyAgICAgICAgICAgICMgICAgMS42NDQgL3NlYwo+ICAgICAgICAgICAgICAgICggKy0gIDMuMzMl ICkKPiAgICAgICAgICAgICAgICAxOTAgICAgICBwYWdlLWZhdWx0cyAgICAgICAgICAgICAgICMg ICA2Mi40NjEgL3NlYwo+ICAgICAgICAgICAgICAgICggKy0gIDAuNDElICkKPiAgICAgIDYsOTE5 LDAyNSwyMjIgICAgICBjeWNsZXMgICAgICAgICAgICAgICAgICAgICMgICAgMi4yNzUgR0h6Cj4g ICAgICAgICAgICAgICAgKCArLSAgMC4xMyUgKQo+ICAgICAgOCw5OTAsMjIwLDE2MCAgICAgIGlu c3RydWN0aW9ucyAgICAgICAgICAgICAgIyAgICAxLjI5ICBpbnNuIHBlcgo+IGN5Y2xlICAgICAg ICAgICAoICstICAwLjA0JSApCj4gICAgICAxLDc4OCwzMjYsNzg2ICAgICAgYnJhbmNoZXMgICAg ICAgICAgICAgICAgICAjICA1ODcuODk5IE0vc2VjCj4gICAgICAgICAgICAgICAgKCArLSAgMC4w NSUgKQo+ICAgICAgICAgIDQsNTU3LDM5OCAgICAgIGJyYW5jaC1taXNzZXMgICAgICAgICAgICAg IyAgICAwLjI1JSBvZiBhbGwKPiBicmFuY2hlcyAgICAgICAgICAoICstICAwLjQzJSApCj4gCj4g ICAgICAgICAgICAzLjA0MzU5ICstIDAuMDAzNzggc2Vjb25kcyB0aW1lIGVsYXBzZWQgICggKy0g IDAuMTIlICkKPiAKPiAqIGZvciB1cHN0cmVhbSBjb2RlCj4gIFBlcmZvcm1hbmNlIGNvdW50ZXIg c3RhdHMgZm9yICduaWNlIC1uIC0yMCAuL3ZyaW5naF90ZXN0X2Jhc2UKPiAtLXBhcmFsbGVsIC0t ZXZlbnRpZHggLS1mYXN0LXZyaW5naCAtLWluZGlyZWN0IC0tdmlydGlvLTEnICgxMCBydW5zKToK PiAKPiAgICAgICAgICAgMywwNTguNDEgbXNlYyB0YXNrLWNsb2NrICAgICAgICAgICAgICAgICMg ICAgMC45OTkgQ1BVcwo+IHV0aWxpemVkICAgICAgICAgICAgKCArLSAgMC4xNCUgKQo+ICAgICAg ICAgICAgIDc4LDE0OSAgICAgIGNvbnRleHQtc3dpdGNoZXMgICAgICAgICAgIyAgIDI1LjU0NSBL L3NlYwo+ICAgICAgICAgICAgICAgICggKy0gIDAuMDAlICkKPiAgICAgICAgICAgICAgICAgIDUg ICAgICBjcHUtbWlncmF0aW9ucyAgICAgICAgICAgICMgICAgMS42MzQgL3NlYwo+ICAgICAgICAg ICAgICAgICggKy0gIDIuNjclICkKPiAgICAgICAgICAgICAgICAxOTQgICAgICBwYWdlLWZhdWx0 cyAgICAgICAgICAgICAgICMgICA2My40MTQgL3NlYwo+ICAgICAgICAgICAgICAgICggKy0gIDAu NDMlICkKPiAgICAgIDYsOTg4LDcxMyw5NjMgICAgICBjeWNsZXMgICAgICAgICAgICAgICAgICAg ICMgICAgMi4yODQgR0h6Cj4gICAgICAgICAgICAgICAgKCArLSAgMC4xNCUgKQo+ICAgICAgOCw1 MTIsNTMzLDI2OSAgICAgIGluc3RydWN0aW9ucyAgICAgICAgICAgICAgIyAgICAxLjIyICBpbnNu IHBlcgo+IGN5Y2xlICAgICAgICAgICAoICstICAwLjA0JSApCj4gICAgICAxLDYzOCwzNzUsMzcx ICAgICAgYnJhbmNoZXMgICAgICAgICAgICAgICAgICAjICA1MzUuNTQ5IE0vc2VjCj4gICAgICAg ICAgICAgICAgKCArLSAgMC4wNSUgKQo+ICAgICAgICAgIDQsNDI4LDg2NiAgICAgIGJyYW5jaC1t aXNzZXMgICAgICAgICAgICAgIyAgICAwLjI3JSBvZiBhbGwKPiBicmFuY2hlcyAgICAgICAgICAo ICstIDIyLjU3JSApCj4gCj4gICAgICAgICAgICAzLjA2MDg1ICstIDAuMDA0MjAgc2Vjb25kcyB0 aW1lIGVsYXBzZWQgICggKy0gIDAuMTQlICkKCgpIb3cgeW91IGNvbXBpbGVkIGl0IGFsc28gbWF0 dGVycy4gQVRNIHdlIGRvbid0IGVuYWJsZSByZXRwb2xpbmVzCmFuZCBpdCBkaWQgbm90IG1hdHRl ciBzaW5jZSB3ZSBkaWRuJ3QgaGF2ZSBpbmRpcmVjdCBjYWxscywKYnV0IHdlIHNob3VsZC4gRGlk bid0IHlldCBpbnZlc3RpZ2F0ZSBob3cgdG8gZG8gdGhhdCBmb3IgdmlydGlvIHRvb2xzLgoKCj4g PiBUaGFuayB5b3UgZm9yIHlvdXIgY29tbWVudHMuCj4gPiA+IFRoYW5rcyEKPiA+ID4KPiA+ID4K PiA+IEJlc3QsCj4gPiBTaHVuc3VrZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlv bkBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlv bi5vcmcvbWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXphdGlvbg== 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 47F5BC46467 for ; Tue, 27 Dec 2022 14:38:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231935AbiL0Oi2 (ORCPT ); Tue, 27 Dec 2022 09:38:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50386 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232050AbiL0OiQ (ORCPT ); Tue, 27 Dec 2022 09:38:16 -0500 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 AFF6E2A3 for ; Tue, 27 Dec 2022 06:37:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672151846; 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=xgCz+tLYAfF9d3fkcqmVpnYWdED3weMm6ilwwtC+TyE=; b=fzPa3yTR0JMwQ2SRs2eYsCz1kzN+CqeiQ+fPLwe/jhSqbLDmFEFaa7BqFkGttHPamBvl+X uuyhCCXvSaHzRf79ttaQzO3nV+PYSj3eH+V3vuWktrdpwh0MC3+GdUZf+fA9J0dCe8cvRs bEGRzpsuNXBqAgDZ0r55h+CnYJPGWZ4= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-487-_C6ffTvZMaKy7deaj9gXfA-1; Tue, 27 Dec 2022 09:37:25 -0500 X-MC-Unique: _C6ffTvZMaKy7deaj9gXfA-1 Received: by mail-wm1-f69.google.com with SMTP id i7-20020a05600c354700b003d62131fe46so9590690wmq.5 for ; Tue, 27 Dec 2022 06:37:24 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=xgCz+tLYAfF9d3fkcqmVpnYWdED3weMm6ilwwtC+TyE=; b=JypL8SSj7fRs8p6S27PkprTrNRpCvavekADSF5Q6oxwJLWC8bAe5fQpyZRJQ8otk/s GhlJVxbsuGzTXsMtVXmT7AHhgAZArf7cjcjPFp/s+upEGEkuTuaBBLPphuPzaODdjFBT RKg8ng2foq/wSQWW7Y3F/M7yrarveWJEMDx1h36Tssf2140zu9w2+SwxnnbvXTPDfWMU koEautFZOiGlmn+M07WsIE+zFRyzWef9yasxJ5E8pdue4slB9QVeJrkGdtn5AWpNSVIk /8PaCL4tuewjeE7b/x1RG9/PoQGowjaBjr5H0nT25nqsHQbGfRYmG6O4eAM5wJsWRa1C oUiw== X-Gm-Message-State: AFqh2kqYUx67yuoGPkCfFwVXUC+NBklIxO8T1a8ikijG4Ss8WMM7KATw Z8fSDQcMPJyftG7OKWpwUGmcyysRd+Jw8bfcqzuBqhsk2nFL5YcKeuYIcUb9LODizqDy+yy7zeI BAjpvUMVNnmqAKKnYLbApbG9U X-Received: by 2002:adf:e810:0:b0:276:4089:81c2 with SMTP id o16-20020adfe810000000b00276408981c2mr7127722wrm.41.1672151843991; Tue, 27 Dec 2022 06:37:23 -0800 (PST) X-Google-Smtp-Source: AMrXdXuEQROGF+oitUSmj1Q8NX620ccWWcAn/1+eRYCelPItDeRg6waNVMMHTHrgmKbV/c3RtVQv9g== X-Received: by 2002:adf:e810:0:b0:276:4089:81c2 with SMTP id o16-20020adfe810000000b00276408981c2mr7127707wrm.41.1672151843730; Tue, 27 Dec 2022 06:37:23 -0800 (PST) Received: from redhat.com ([2.52.151.85]) by smtp.gmail.com with ESMTPSA id v18-20020a5d6792000000b0027e5501f7f5sm5002656wru.53.2022.12.27.06.37.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Dec 2022 06:37:23 -0800 (PST) Date: Tue, 27 Dec 2022 09:37:20 -0500 From: "Michael S. Tsirkin" To: Shunsuke Mie Cc: Jason Wang , Rusty Russell , kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 4/9] vringh: unify the APIs for all accessors Message-ID: <20221227075332-mutt-send-email-mst@kernel.org> References: <20221227022528.609839-1-mie@igel.co.jp> <20221227022528.609839-5-mie@igel.co.jp> <20221227020007-mutt-send-email-mst@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Dec 27, 2022 at 07:22:36PM +0900, Shunsuke Mie wrote: > 2022年12月27日(火) 16:49 Shunsuke Mie : > > > > 2022年12月27日(火) 16:04 Michael S. Tsirkin : > > > > > > On Tue, Dec 27, 2022 at 11:25:26AM +0900, Shunsuke Mie wrote: > > > > Each vringh memory accessors that are for user, kern and iotlb has own > > > > interfaces that calls common code. But some codes are duplicated and that > > > > becomes loss extendability. > > > > > > > > Introduce a struct vringh_ops and provide a common APIs for all accessors. > > > > It can bee easily extended vringh code for new memory accessor and > > > > simplified a caller code. > > > > > > > > Signed-off-by: Shunsuke Mie > > > > --- > > > > drivers/vhost/vringh.c | 667 +++++++++++------------------------------ > > > > include/linux/vringh.h | 100 +++--- > > > > 2 files changed, 225 insertions(+), 542 deletions(-) > > > > > > > > diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c > > > > index aa3cd27d2384..ebfd3644a1a3 100644 > > > > --- a/drivers/vhost/vringh.c > > > > +++ b/drivers/vhost/vringh.c > > > > @@ -35,15 +35,12 @@ static __printf(1,2) __cold void vringh_bad(const char *fmt, ...) > > > > } > > > > > > > > /* Returns vring->num if empty, -ve on error. */ > > > > -static inline int __vringh_get_head(const struct vringh *vrh, > > > > - int (*getu16)(const struct vringh *vrh, > > > > - u16 *val, const __virtio16 *p), > > > > - u16 *last_avail_idx) > > > > +static inline int __vringh_get_head(const struct vringh *vrh, u16 *last_avail_idx) > > > > { > > > > u16 avail_idx, i, head; > > > > int err; > > > > > > > > - err = getu16(vrh, &avail_idx, &vrh->vring.avail->idx); > > > > + err = vrh->ops.getu16(vrh, &avail_idx, &vrh->vring.avail->idx); > > > > if (err) { > > > > vringh_bad("Failed to access avail idx at %p", > > > > &vrh->vring.avail->idx); > > > > > > I like that this patch removes more lines of code than it adds. > > > > > > However one of the design points of vringh abstractions is that they were > > > carefully written to be very low overhead. > > > This is why we are passing function pointers to inline functions - > > > compiler can optimize that out. > > > > > > I think that introducing ops indirect functions calls here is going to break > > > these assumptions and hurt performance. > > > Unless compiler can somehow figure it out and optimize? > > > I don't see how it's possible with ops pointer in memory > > > but maybe I'm wrong. > > I think your concern is correct. I have to understand the compiler > > optimization and redesign this approach If it is needed. > > > Was any effort taken to test effect of these patches on performance? > > I just tested vringh_test and already faced little performance reduction. > > I have to investigate that, as you said. > I attempted to test with perf. I found that the performance of patched code > is almost the same as the upstream one. However, I have to investigate way > this patch leads to this result, also the profiling should be run on > more powerful > machines too. > > environment: > $ grep 'model name' /proc/cpuinfo > model name : Intel(R) Core(TM) i3-7020U CPU @ 2.30GHz > model name : Intel(R) Core(TM) i3-7020U CPU @ 2.30GHz > model name : Intel(R) Core(TM) i3-7020U CPU @ 2.30GHz > model name : Intel(R) Core(TM) i3-7020U CPU @ 2.30GHz > > results: > * for patched code > Performance counter stats for 'nice -n -20 ./vringh_test_patched > --parallel --eventidx --fast-vringh --indirect --virtio-1' (20 runs): > > 3,028.05 msec task-clock # 0.995 CPUs > utilized ( +- 0.12% ) > 78,150 context-switches # 25.691 K/sec > ( +- 0.00% ) > 5 cpu-migrations # 1.644 /sec > ( +- 3.33% ) > 190 page-faults # 62.461 /sec > ( +- 0.41% ) > 6,919,025,222 cycles # 2.275 GHz > ( +- 0.13% ) > 8,990,220,160 instructions # 1.29 insn per > cycle ( +- 0.04% ) > 1,788,326,786 branches # 587.899 M/sec > ( +- 0.05% ) > 4,557,398 branch-misses # 0.25% of all > branches ( +- 0.43% ) > > 3.04359 +- 0.00378 seconds time elapsed ( +- 0.12% ) > > * for upstream code > Performance counter stats for 'nice -n -20 ./vringh_test_base > --parallel --eventidx --fast-vringh --indirect --virtio-1' (10 runs): > > 3,058.41 msec task-clock # 0.999 CPUs > utilized ( +- 0.14% ) > 78,149 context-switches # 25.545 K/sec > ( +- 0.00% ) > 5 cpu-migrations # 1.634 /sec > ( +- 2.67% ) > 194 page-faults # 63.414 /sec > ( +- 0.43% ) > 6,988,713,963 cycles # 2.284 GHz > ( +- 0.14% ) > 8,512,533,269 instructions # 1.22 insn per > cycle ( +- 0.04% ) > 1,638,375,371 branches # 535.549 M/sec > ( +- 0.05% ) > 4,428,866 branch-misses # 0.27% of all > branches ( +- 22.57% ) > > 3.06085 +- 0.00420 seconds time elapsed ( +- 0.14% ) How you compiled it also matters. ATM we don't enable retpolines and it did not matter since we didn't have indirect calls, but we should. Didn't yet investigate how to do that for virtio tools. > > Thank you for your comments. > > > Thanks! > > > > > > > > Best, > > Shunsuke.