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 36138C001DE for ; Mon, 24 Jul 2023 07:17:23 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 9E38D60B6E; Mon, 24 Jul 2023 07:17:22 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 9E38D60B6E 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=OVe8Bxiy 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 5qRrDgEXeYdL; Mon, 24 Jul 2023 07:17:21 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTPS id 039AD60B65; Mon, 24 Jul 2023 07:17:20 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 039AD60B65 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id DBB55C0071; Mon, 24 Jul 2023 07:17:20 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 46390C0032 for ; Mon, 24 Jul 2023 07:17:20 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 2712460B6E for ; Mon, 24 Jul 2023 07:17:20 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 2712460B6E 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 ZqDci7LhWpYB for ; Mon, 24 Jul 2023 07:17:19 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by smtp3.osuosl.org (Postfix) with ESMTPS id DFD3C60B65 for ; Mon, 24 Jul 2023 07:17:18 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org DFD3C60B65 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1690183037; 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=HjKbZ93PktxP4rjIVyTtsb1Z6x60YFfrU4kZWAJuRWQ=; b=OVe8BxiyKocjgMpAkQqFaOBEzhPmMwGfan6vlJ3nSdbUKVea6TWtKJib5NdGuuqgGmKXnK C/TZ1T5SVdrmg2R9HCpuX8tR41Z6VkdW5BjMlfS4ml5Zc+LTm0z9ni2MV4hLJGCw2bj3PZ YV4H2EnkLsXM/6JYNAWdi5DX8CnlpQs= 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_256_GCM_SHA384) id us-mta-461-Eh1ejk4kMamLJ18Dyl_8MA-1; Mon, 24 Jul 2023 03:17:16 -0400 X-MC-Unique: Eh1ejk4kMamLJ18Dyl_8MA-1 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-317421b94a4so666594f8f.3 for ; Mon, 24 Jul 2023 00:17:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690183035; x=1690787835; 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=HjKbZ93PktxP4rjIVyTtsb1Z6x60YFfrU4kZWAJuRWQ=; b=IwmlGLTuLu4sLzXnek2RgcJiXJ3apH6LX/XQu6eGzMv+7ZgnQ2J8AgB1HZHeM2u0yA frSEL6kTVWtQGQHQNehlOKp59OVER8P6fl57/JgnfSpJrnb1qKrolFIe+4623bCYdZSc 0s4Ar2AyknmiEb2bwtZeuhxgRb/V6yGxGXwHCSHRZKJQWejDQKUQ+uaXJw7F00cYPa8x VqsrXC8woyD9NVQ3/ERRWftgbhGqbnNl6fpkuR0oW6fs/qZGvwYmvFnjp6lAVdye5mdO j19CRN57qONh3XvCll53yifmwtBOu4sbo+ekKKcx6GVJ9Wpp0+0BoyhlZ2JaQc2ucZNQ 6Nbw== X-Gm-Message-State: ABy/qLba8dTCevns3TFpisBk9PolMKGI+DcSSdQW+WseCRYIGlEVIKXd iZTwybsFffAeYG/NAgEKR3/q+vU5AineDyE6flKLfqTj8TXqHvf9wZs7Y9pEKi8RB9vBwQUyEzd xLbVHhPaMCjH4pX9GC/A3vVet6K6JRQ1gn0rV7OWhng== X-Received: by 2002:a5d:6ad2:0:b0:317:64f4:5536 with SMTP id u18-20020a5d6ad2000000b0031764f45536mr79468wrw.44.1690183035296; Mon, 24 Jul 2023 00:17:15 -0700 (PDT) X-Google-Smtp-Source: APBJJlGHbd/1kAabUvsg2xkTZwcpGYrD8C4U0G8EAYPMvn6hm0cUUOcAYyC6wdAJZ4CQRNW3exfCZA== X-Received: by 2002:a5d:6ad2:0:b0:317:64f4:5536 with SMTP id u18-20020a5d6ad2000000b0031764f45536mr79454wrw.44.1690183034947; Mon, 24 Jul 2023 00:17:14 -0700 (PDT) Received: from redhat.com ([2a06:c701:73e0:3800:a16e:b2a0:7d06:58aa]) by smtp.gmail.com with ESMTPSA id o26-20020a5d58da000000b0030ae499da59sm11867982wrf.111.2023.07.24.00.17.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Jul 2023 00:17:14 -0700 (PDT) Date: Mon, 24 Jul 2023 03:17:11 -0400 From: "Michael S. Tsirkin" To: Jason Wang Subject: Re: [PATCH net-next v4 2/2] virtio-net: add cond_resched() to the command waiting loop Message-ID: <20230724025720-mutt-send-email-mst@kernel.org> References: <20230720083839.481487-1-jasowang@redhat.com> <20230720083839.481487-3-jasowang@redhat.com> <20230720170001-mutt-send-email-mst@kernel.org> <263a5ad7-1189-3be3-70de-c38a685bebe0@redhat.com> <20230721104445-mutt-send-email-mst@kernel.org> <6278a4aa-8901-b0e3-342f-5753a4bf32af@redhat.com> <20230721110925-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: xuanzhuo@linux.alibaba.com, edumazet@google.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Maxime Coquelin , kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net 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" T24gTW9uLCBKdWwgMjQsIDIwMjMgYXQgMDI6NTI6MDVQTSArMDgwMCwgSmFzb24gV2FuZyB3cm90 ZToKPiBPbiBTYXQsIEp1bCAyMiwgMjAyMyBhdCA0OjE44oCvQU0gTWF4aW1lIENvcXVlbGluCj4g PG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPiB3cm90ZToKPiA+Cj4gPgo+ID4KPiA+IE9uIDcv MjEvMjMgMTc6MTAsIE1pY2hhZWwgUy4gVHNpcmtpbiB3cm90ZToKPiA+ID4gT24gRnJpLCBKdWwg MjEsIDIwMjMgYXQgMDQ6NTg6MDRQTSArMDIwMCwgTWF4aW1lIENvcXVlbGluIHdyb3RlOgo+ID4g Pj4KPiA+ID4+Cj4gPiA+PiBPbiA3LzIxLzIzIDE2OjQ1LCBNaWNoYWVsIFMuIFRzaXJraW4gd3Jv dGU6Cj4gPiA+Pj4gT24gRnJpLCBKdWwgMjEsIDIwMjMgYXQgMDQ6Mzc6MDBQTSArMDIwMCwgTWF4 aW1lIENvcXVlbGluIHdyb3RlOgo+ID4gPj4+Pgo+ID4gPj4+Pgo+ID4gPj4+PiBPbiA3LzIwLzIz IDIzOjAyLCBNaWNoYWVsIFMuIFRzaXJraW4gd3JvdGU6Cj4gPiA+Pj4+PiBPbiBUaHUsIEp1bCAy MCwgMjAyMyBhdCAwMToyNjoyMFBNIC0wNzAwLCBTaGFubm9uIE5lbHNvbiB3cm90ZToKPiA+ID4+ Pj4+PiBPbiA3LzIwLzIzIDE6MzggQU0sIEphc29uIFdhbmcgd3JvdGU6Cj4gPiA+Pj4+Pj4+Cj4g PiA+Pj4+Pj4+IEFkZGluZyBjb25kX3Jlc2NoZWQoKSB0byB0aGUgY29tbWFuZCB3YWl0aW5nIGxv b3AgZm9yIGEgYmV0dGVyCj4gPiA+Pj4+Pj4+IGNvLW9wZXJhdGlvbiB3aXRoIHRoZSBzY2hlZHVs ZXIuIFRoaXMgYWxsb3dzIHRvIGdpdmUgQ1BVIGEgYnJlYXRoIHRvCj4gPiA+Pj4+Pj4+IHJ1biBv dGhlciB0YXNrKHdvcmtxdWV1ZSkgaW5zdGVhZCBvZiBidXN5IGxvb3Bpbmcgd2hlbiBwcmVlbXB0 aW9uIGlzCj4gPiA+Pj4+Pj4+IG5vdCBhbGxvd2VkIG9uIGEgZGV2aWNlIHdob3NlIENWUSBtaWdo dCBiZSBzbG93Lgo+ID4gPj4+Pj4+Pgo+ID4gPj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBKYXNvbiBX YW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgo+ID4gPj4+Pj4+Cj4gPiA+Pj4+Pj4gVGhpcyBzdGls bCBsZWF2ZXMgaHVuZyBwcm9jZXNzZXMsIGJ1dCBhdCBsZWFzdCBpdCBkb2Vzbid0IHBpbiB0aGUg Q1BVIGFueQo+ID4gPj4+Pj4+IG1vcmUuICBUaGFua3MuCj4gPiA+Pj4+Pj4gUmV2aWV3ZWQtYnk6 IFNoYW5ub24gTmVsc29uIDxzaGFubm9uLm5lbHNvbkBhbWQuY29tPgo+ID4gPj4+Pj4+Cj4gPiA+ Pj4+Pgo+ID4gPj4+Pj4gSSdkIGxpa2UgdG8gc2VlIGEgZnVsbCBzb2x1dGlvbgo+ID4gPj4+Pj4g MS0gYmxvY2sgdW50aWwgaW50ZXJydXB0Cj4gCj4gSSByZW1lbWJlciBpbiBwcmV2aW91cyB2ZXJz aW9ucywgeW91IHdvcnJpZWQgYWJvdXQgdGhlIGV4dHJhIE1TSQo+IHZlY3Rvci4gKE1heWJlIEkg d2FzIHdyb25nKS4KPiAKPiA+ID4+Pj4KPiA+ID4+Pj4gV291bGQgaXQgbWFrZSBzZW5zZSB0byBh bHNvIGhhdmUgYSB0aW1lb3V0Pwo+ID4gPj4+PiBBbmQgd2hlbiB0aW1lb3V0IGV4cGlyZXMsIHNl dCBGQUlMRUQgYml0IGluIGRldmljZSBzdGF0dXM/Cj4gPiA+Pj4KPiA+ID4+PiB2aXJ0aW8gc3Bl YyBkb2VzIG5vdCBzZXQgYW55IGxpbWl0cyBvbiB0aGUgdGltaW5nIG9mIHZxCj4gPiA+Pj4gcHJv Y2Vzc2luZy4KPiA+ID4+Cj4gPiA+PiBJbmRlZWQsIGJ1dCBJIHRob3VnaHQgdGhlIGRyaXZlciBj b3VsZCBkZWNpZGUgaXQgaXMgdG9vIGxvbmcgZm9yIGl0Lgo+ID4gPj4KPiA+ID4+IFRoZSBpc3N1 ZSBpcyB3ZSBrZWVwIHdhaXRpbmcgd2l0aCBydG5sIGxvY2tlZCwgaXQgY2FuIHF1aWNrbHkgbWFr ZSB0aGUKPiA+ID4+IHN5c3RlbSB1bnVzYWJsZS4KPiA+ID4KPiA+ID4gaWYgdGhpcyBpcyBhIHBy b2JsZW0gd2Ugc2hvdWxkIGZpbmQgYSB3YXkgbm90IHRvIGtlZXAgcnRubAo+ID4gPiBsb2NrZWQg aW5kZWZpbml0ZWx5Lgo+IAo+IEFueSBpZGVhcyBvbiB0aGlzIGRpcmVjdGlvbj8gU2ltcGx5IGRy b3BwaW5nIHJ0bmwgZHVyaW5nIHRoZSBidXN5IGxvb3AKPiB3aWxsIHJlc3VsdCBpbiBhIGxvdCBv ZiByYWNlcy4gVGhpcyBzZWVtcyB0byByZXF1aXJlIG5vbi10cml2aWFsCj4gY2hhbmdlcyBpbiB0 aGUgbmV0d29ya2luZyBjb3JlLgo+IAo+ID4KPiA+ICBGcm9tIHRoZSB0ZXN0cyBJIGhhdmUgZG9u ZSwgSSB0aGluayBpdCBpcy4gV2l0aCBPVlMsIGEgcmVjb25maWd1cmF0aW9uCj4gPiBpcyBwZXJm b3JtZWQgd2hlbiB0aGUgVkRVU0UgZGV2aWNlIGlzIGFkZGVkLCBhbmQgd2hlbiBhIE1MWDUgZGV2 aWNlIGlzCj4gPiBpbiB0aGUgc2FtZSBicmlkZ2UsIGl0IGVuZHMgdXAgZG9pbmcgYW4gaW9jdGwo KSB0aGF0IHRyaWVzIHRvIHRha2UgdGhlCj4gPiBydG5sIGxvY2suIEluIHRoaXMgY29uZmlndXJh dGlvbiwgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGtpbGwgT1ZTIGJlY2F1c2UKPiA+IGl0IGlzIHN0 dWNrIHRyeWluZyB0byBhY3F1aXJlIHJ0bmwgbG9jayBmb3IgbWx4NSB0aGF0IGlzIGhlbGQgYnkg dmlydGlvLQo+ID4gbmV0Lgo+IAo+IFllYWgsIGJhc2ljYWxseSwgYW55IFJUTkwgdXNlcnMgd291 bGQgYmUgYmxvY2tlZCBmb3JldmVyLgo+IAo+IEFuZCB0aGUgaW5maW5pdGUgbG9vcCBoYXMgb3Ro ZXIgc2lkZSBlZmZlY3RzIGxpa2UgaXQgYmxvY2tzIHRoZSBmcmVlemVyIHRvIHdvcmsuCj4gCj4g VG8gc3VtbWFyaXplLCB0aGVyZSBhcmUgdGhyZWUgaXNzdWVzCj4gCj4gMSkgYnVzeSBwb2xsaW5n Cj4gMikgYnJlYWtzIGZyZWV6ZXIKPiAzKSBob2xkIFJUTkwgZHVyaW5nIHRoZSBsb29wCj4gCj4g U29sdmluZyAzIG1heSBoZWxwIHNvbWVob3cgZm9yIDIgZS5nIHNvbWUgcG0gcm91dGluZSBlLmcg d2lyZWd1YXJkIG9yCj4gZXZlbiB2aXJ0bmV0X3Jlc3RvcmUoKSBpdHNlbGYgbWF5IHRyeSB0byBo b2xkIHRoZSBsb2NrLgoKWWVwLiBTbyBteSBmZWVsaW5nIGN1cnJlbnRseSBpcywgdGhlIG9ubHkg cmVhbCBmaXggaXMgdG8gYWN0dWFsbHkKcXVldWUgdXAgdGhlIHdvcmsgaW4gc29mdHdhcmUuIEl0 J3MgbW9zdGx5IHRyaXZpYWwgdG8gbGltaXQKbWVtb3J5IGNvbnN1bXB0aW9uLCB2aWQncyBpcyB0 aGUKb25seSBvbmUgd2hlcmUgaXQgd291bGQgbWFrZSBzZW5zZSB0byBoYXZlIG1vcmUgdGhhbgox IGNvbW1hbmQgb2YgYSBnaXZlbiB0eXBlIG91dHN0YW5kaW5nLiBoYXZlIGEgdHJlZQpvciBhIGJp dG1hcCB3aXRoIHZpZHMgdG8gYWRkL3JlbW92ZT8KCgoKPiA+Cj4gPiA+Cj4gPiA+Pj4+PiAyLSBz dGlsbCBoYW5kbGUgc3VycHJpc2UgcmVtb3ZhbCBjb3JyZWN0bHkgYnkgd2FraW5nIGluIHRoYXQg Y2FzZQo+IAo+IFRoaXMgaXMgYmFzaWNhbGx5IHdoYXQgdmVyc2lvbiAxIGRpZD8KPiAKPiBodHRw czovL2xvcmUua2VybmVsLm9yZy9sa21sLzYwMjZlODAxLTZmZGEtZmVlOS1hNjliLWQwNmE4MDM2 ODYyMUByZWRoYXQuY29tL3QvCj4gCj4gVGhhbmtzCgpZZXMgLSBleGNlcHQgdGhlIHRpbWVvdXQg cGFydC4KCgo+ID4gPj4+Pj4KPiA+ID4+Pj4+Cj4gPiA+Pj4+Pgo+ID4gPj4+Pj4+PiAtLS0KPiA+ ID4+Pj4+Pj4gICAgICBkcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMgfCA0ICsrKy0KPiA+ID4+Pj4+ Pj4gICAgICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4g PiA+Pj4+Pj4+Cj4gPiA+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW9fbmV0 LmMgYi9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKPiA+ID4+Pj4+Pj4gaW5kZXggOWYzYjFkNmFj MzNkLi5lNzUzM2YyOWIyMTkgMTAwNjQ0Cj4gPiA+Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L3Zp cnRpb19uZXQuYwo+ID4gPj4+Pj4+PiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKPiA+ ID4+Pj4+Pj4gQEAgLTIzMTQsOCArMjMxNCwxMCBAQCBzdGF0aWMgYm9vbCB2aXJ0bmV0X3NlbmRf Y29tbWFuZChzdHJ1Y3QgdmlydG5ldF9pbmZvICp2aSwgdTggY2xhc3MsIHU4IGNtZCwKPiA+ID4+ Pj4+Pj4gICAgICAgICAgICAgICogaW50byB0aGUgaHlwZXJ2aXNvciwgc28gdGhlIHJlcXVlc3Qg c2hvdWxkIGJlIGhhbmRsZWQgaW1tZWRpYXRlbHkuCj4gPiA+Pj4+Pj4+ICAgICAgICAgICAgICAq Lwo+ID4gPj4+Pj4+PiAgICAgICAgICAgICB3aGlsZSAoIXZpcnRxdWV1ZV9nZXRfYnVmKHZpLT5j dnEsICZ0bXApICYmCj4gPiA+Pj4+Pj4+IC0gICAgICAgICAgICAgICF2aXJ0cXVldWVfaXNfYnJv a2VuKHZpLT5jdnEpKQo+ID4gPj4+Pj4+PiArICAgICAgICAgICAgICAhdmlydHF1ZXVlX2lzX2Jy b2tlbih2aS0+Y3ZxKSkgewo+ID4gPj4+Pj4+PiArICAgICAgICAgICAgICAgY29uZF9yZXNjaGVk KCk7Cj4gPiA+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgY3B1X3JlbGF4KCk7Cj4gPiA+Pj4+ Pj4+ICsgICAgICAgfQo+ID4gPj4+Pj4+Pgo+ID4gPj4+Pj4+PiAgICAgICAgICAgICByZXR1cm4g dmktPmN0cmwtPnN0YXR1cyA9PSBWSVJUSU9fTkVUX09LOwo+ID4gPj4+Pj4+PiAgICAgIH0KPiA+ ID4+Pj4+Pj4gLS0KPiA+ID4+Pj4+Pj4gMi4zOS4zCj4gPiA+Pj4+Pj4+Cj4gPiA+Pj4+Pj4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+Pj4+Pj4+ IFZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdAo+ID4gPj4+Pj4+PiBWaXJ0dWFsaXphdGlvbkBs aXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwo+ID4gPj4+Pj4+PiBodHRwczovL2xpc3RzLmxpbnV4 Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXphdGlvbgo+ID4gPj4+Pj4K PiA+ID4+Pgo+ID4gPgo+ID4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0 cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcv bWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXphdGlvbg== 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 C177AC001B0 for ; Mon, 24 Jul 2023 07:18:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230443AbjGXHSJ (ORCPT ); Mon, 24 Jul 2023 03:18:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230316AbjGXHSH (ORCPT ); Mon, 24 Jul 2023 03:18:07 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08D5990 for ; Mon, 24 Jul 2023 00:17:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1690183038; 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=HjKbZ93PktxP4rjIVyTtsb1Z6x60YFfrU4kZWAJuRWQ=; b=FQg1EXt6kk8m/hLQDfUBO92Ver0X/RzuqvXOTkrO91o+US6+lLfaVvBiRKaPlukuKMXtLj ARqhpQFjBkl86HWtF+hE/VenfhhbKIYznDV+CWtaWbpQ+grIE6p2aMt8u+O1cD+UXyzmc9 XSlkVvOy2LOtwsdeucYT9R2a9Dtym/c= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-628-uorEMwqxNzOxbTjc9FN6sQ-1; Mon, 24 Jul 2023 03:17:16 -0400 X-MC-Unique: uorEMwqxNzOxbTjc9FN6sQ-1 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3143ac4a562so1990503f8f.2 for ; Mon, 24 Jul 2023 00:17:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690183035; x=1690787835; 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=HjKbZ93PktxP4rjIVyTtsb1Z6x60YFfrU4kZWAJuRWQ=; b=keVfPRJuP1bwgsXXx9i5FYRUv8OBy8Q5cPSlgp8/uS33CG8qnLKyIrLwSU6kTcBY7G eU3kXMxIVYMhNOXQVYl6kSKvNghTTag3puX7F4gu7gAp0j/zMnDBmk5fO6RPALPJYqGE PN0HALS+UBwhmJXU9iXIB1L8v5F9TP5KOLAOO5ihL5u4AZ27JEZBRef5hfkZOK15f7+Y QGYIkZrsRng5FtDR9HuA/tN8sm0kDKdhgmjfUfamTJe4tZ5ZS0ygsmacXEyKMNUpXJBB WhuIb7H3JSEkqIZpWHsHzMX43qg7fTLFYM2G1SKG+eTQabJBTNxtWT91EfsWWlxWQy9N grIg== X-Gm-Message-State: ABy/qLbfFCUX9B4B+bq7sXehZFciNn5Dctv98rryJREjzxVvQdvvJgIf kUD+zHEtS/gnbucByV5APnXW0iO73T1OoPYwaRDjuuCsqp21ACGbnQtBIq3o7YY7QTYNkCKagfY yXeZ7I9U0ruHlMauGScosVp+jNRMFzAjcuO8= X-Received: by 2002:a5d:6ad2:0:b0:317:64f4:5536 with SMTP id u18-20020a5d6ad2000000b0031764f45536mr79466wrw.44.1690183035295; Mon, 24 Jul 2023 00:17:15 -0700 (PDT) X-Google-Smtp-Source: APBJJlGHbd/1kAabUvsg2xkTZwcpGYrD8C4U0G8EAYPMvn6hm0cUUOcAYyC6wdAJZ4CQRNW3exfCZA== X-Received: by 2002:a5d:6ad2:0:b0:317:64f4:5536 with SMTP id u18-20020a5d6ad2000000b0031764f45536mr79454wrw.44.1690183034947; Mon, 24 Jul 2023 00:17:14 -0700 (PDT) Received: from redhat.com ([2a06:c701:73e0:3800:a16e:b2a0:7d06:58aa]) by smtp.gmail.com with ESMTPSA id o26-20020a5d58da000000b0030ae499da59sm11867982wrf.111.2023.07.24.00.17.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Jul 2023 00:17:14 -0700 (PDT) Date: Mon, 24 Jul 2023 03:17:11 -0400 From: "Michael S. Tsirkin" To: Jason Wang Cc: Maxime Coquelin , Shannon Nelson , xuanzhuo@linux.alibaba.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, davem@davemloft.net Subject: Re: [PATCH net-next v4 2/2] virtio-net: add cond_resched() to the command waiting loop Message-ID: <20230724025720-mutt-send-email-mst@kernel.org> References: <20230720083839.481487-1-jasowang@redhat.com> <20230720083839.481487-3-jasowang@redhat.com> <20230720170001-mutt-send-email-mst@kernel.org> <263a5ad7-1189-3be3-70de-c38a685bebe0@redhat.com> <20230721104445-mutt-send-email-mst@kernel.org> <6278a4aa-8901-b0e3-342f-5753a4bf32af@redhat.com> <20230721110925-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 Mon, Jul 24, 2023 at 02:52:05PM +0800, Jason Wang wrote: > On Sat, Jul 22, 2023 at 4:18 AM Maxime Coquelin > wrote: > > > > > > > > On 7/21/23 17:10, Michael S. Tsirkin wrote: > > > On Fri, Jul 21, 2023 at 04:58:04PM +0200, Maxime Coquelin wrote: > > >> > > >> > > >> On 7/21/23 16:45, Michael S. Tsirkin wrote: > > >>> On Fri, Jul 21, 2023 at 04:37:00PM +0200, Maxime Coquelin wrote: > > >>>> > > >>>> > > >>>> On 7/20/23 23:02, Michael S. Tsirkin wrote: > > >>>>> On Thu, Jul 20, 2023 at 01:26:20PM -0700, Shannon Nelson wrote: > > >>>>>> On 7/20/23 1:38 AM, Jason Wang wrote: > > >>>>>>> > > >>>>>>> Adding cond_resched() to the command waiting loop for a better > > >>>>>>> co-operation with the scheduler. This allows to give CPU a breath to > > >>>>>>> run other task(workqueue) instead of busy looping when preemption is > > >>>>>>> not allowed on a device whose CVQ might be slow. > > >>>>>>> > > >>>>>>> Signed-off-by: Jason Wang > > >>>>>> > > >>>>>> This still leaves hung processes, but at least it doesn't pin the CPU any > > >>>>>> more. Thanks. > > >>>>>> Reviewed-by: Shannon Nelson > > >>>>>> > > >>>>> > > >>>>> I'd like to see a full solution > > >>>>> 1- block until interrupt > > I remember in previous versions, you worried about the extra MSI > vector. (Maybe I was wrong). > > > >>>> > > >>>> Would it make sense to also have a timeout? > > >>>> And when timeout expires, set FAILED bit in device status? > > >>> > > >>> virtio spec does not set any limits on the timing of vq > > >>> processing. > > >> > > >> Indeed, but I thought the driver could decide it is too long for it. > > >> > > >> The issue is we keep waiting with rtnl locked, it can quickly make the > > >> system unusable. > > > > > > if this is a problem we should find a way not to keep rtnl > > > locked indefinitely. > > Any ideas on this direction? Simply dropping rtnl during the busy loop > will result in a lot of races. This seems to require non-trivial > changes in the networking core. > > > > > From the tests I have done, I think it is. With OVS, a reconfiguration > > is performed when the VDUSE device is added, and when a MLX5 device is > > in the same bridge, it ends up doing an ioctl() that tries to take the > > rtnl lock. In this configuration, it is not possible to kill OVS because > > it is stuck trying to acquire rtnl lock for mlx5 that is held by virtio- > > net. > > Yeah, basically, any RTNL users would be blocked forever. > > And the infinite loop has other side effects like it blocks the freezer to work. > > To summarize, there are three issues > > 1) busy polling > 2) breaks freezer > 3) hold RTNL during the loop > > Solving 3 may help somehow for 2 e.g some pm routine e.g wireguard or > even virtnet_restore() itself may try to hold the lock. Yep. So my feeling currently is, the only real fix is to actually queue up the work in software. It's mostly trivial to limit memory consumption, vid's is the only one where it would make sense to have more than 1 command of a given type outstanding. have a tree or a bitmap with vids to add/remove? > > > > > > > >>>>> 2- still handle surprise removal correctly by waking in that case > > This is basically what version 1 did? > > https://lore.kernel.org/lkml/6026e801-6fda-fee9-a69b-d06a80368621@redhat.com/t/ > > Thanks Yes - except the timeout part. > > >>>>> > > >>>>> > > >>>>> > > >>>>>>> --- > > >>>>>>> drivers/net/virtio_net.c | 4 +++- > > >>>>>>> 1 file changed, 3 insertions(+), 1 deletion(-) > > >>>>>>> > > >>>>>>> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > > >>>>>>> index 9f3b1d6ac33d..e7533f29b219 100644 > > >>>>>>> --- a/drivers/net/virtio_net.c > > >>>>>>> +++ b/drivers/net/virtio_net.c > > >>>>>>> @@ -2314,8 +2314,10 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, > > >>>>>>> * into the hypervisor, so the request should be handled immediately. > > >>>>>>> */ > > >>>>>>> while (!virtqueue_get_buf(vi->cvq, &tmp) && > > >>>>>>> - !virtqueue_is_broken(vi->cvq)) > > >>>>>>> + !virtqueue_is_broken(vi->cvq)) { > > >>>>>>> + cond_resched(); > > >>>>>>> cpu_relax(); > > >>>>>>> + } > > >>>>>>> > > >>>>>>> return vi->ctrl->status == VIRTIO_NET_OK; > > >>>>>>> } > > >>>>>>> -- > > >>>>>>> 2.39.3 > > >>>>>>> > > >>>>>>> _______________________________________________ > > >>>>>>> Virtualization mailing list > > >>>>>>> Virtualization@lists.linux-foundation.org > > >>>>>>> https://lists.linuxfoundation.org/mailman/listinfo/virtualization > > >>>>> > > >>> > > > > >