Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp6568434rwr; Tue, 2 May 2023 02:14:57 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6BG3jt8gplQ0hhq0d7vDnDPDHTdibBwd4TUzvAz0kq5P/tbBfUSYdih0NqfCmr/7mFy2RA X-Received: by 2002:a05:6a20:4420:b0:f2:b0:68e8 with SMTP id ce32-20020a056a20442000b000f200b068e8mr23922281pzb.3.1683018896855; Tue, 02 May 2023 02:14:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683018896; cv=none; d=google.com; s=arc-20160816; b=otmK3VWA/9fKZWWczwYr7XiAWkBu5oBbzOjejPlbRrogZT33zxrCn6NTaCHo20iyMJ oGm8zJTp15YoQDG8nXISBdounnqyWDPClNnV6sWNWaqbwcnfsJsPslQLDAInltN3EO4g F0x7P0tKwl5Xtzgfhj0asHg9w10xOFAxG10KTqhN2VnHjUu0fOom3y847feu1ZMN7UbK 3+65wp1Ru3iv47tPyYebpz2UuyJFksHpMEQz/wy5aKkiOIlgzx+FSMiEjBMJcbT0/0Bw ymZmRPZZGlkPntBzubtzNVjM+ZHM13gr8OhZNg5Uhq6yn5im1JJeX6kZLBjyTfkCnGHA R0EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=f0C+/AMlCSZv9AQrfgdKXuPAa+4+MUJG4w0wWq0+U44=; b=qZFpX0058uK38vCd+YeS0mKxCkKXuS2/lp9NwPartqWba2Ep++nYglWV6LiviY6oPU zkQgyYe1JLxnZeGlw6+PpziK+Yt0GU2WwhHQgiNn+WhAd+fTSHdF1PKTMGWKgzy+7wSE 6/F/UeUz0d7OoFizzV4/fPW9i75cJe87OReMUwx+LMhLhXFT+uvpfeMS2pyJXiqrpx2T tIAJLF1dw0P/350V95vCclarymk0/7UljeWDCUe4eFo7Gtx73x54jKA/R6x+Uq1mfKJz GpPOZOTpgm1a+2H62O4epW63z1Jxmxh4Yn6WcCFb0RkYFn2fme8+h4ZwFoArxdt6j4+r iTxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=dy0bA6eo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 81-20020a630254000000b005096eb1dabbsi30759158pgc.716.2023.05.02.02.14.41; Tue, 02 May 2023 02:14:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=dy0bA6eo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233603AbjEBJGh (ORCPT + 99 others); Tue, 2 May 2023 05:06:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233143AbjEBJGg (ORCPT ); Tue, 2 May 2023 05:06:36 -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 E46CE2D61 for ; Tue, 2 May 2023 02:05:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1683018345; 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=f0C+/AMlCSZv9AQrfgdKXuPAa+4+MUJG4w0wWq0+U44=; b=dy0bA6eo4E0nVMV00xZe4khym/sYuLG0jws2As7DI/e6pbXCwEnkSyYEwZdeHmcI3DA5yv nEtolJELA6VWubZK+sEVhO5WqvGlz5Z62ZyviEhYNOt1syJQWP26AZAsCF0jBmsnJQDTZi kn1O1PWp8YFI9JIKtuR96boKSfWyg04= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-286-vEqIqGMzPzC_7wVnqDc5yg-1; Tue, 02 May 2023 05:05:43 -0400 X-MC-Unique: vEqIqGMzPzC_7wVnqDc5yg-1 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-3f08900caadso1710805e9.0 for ; Tue, 02 May 2023 02:05:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683018342; x=1685610342; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=f0C+/AMlCSZv9AQrfgdKXuPAa+4+MUJG4w0wWq0+U44=; b=e6lXKDXQ1AlI+AFwQpbLntelbnvnZK6vHoz1yF4ZdId7233T/lgMSiuT3vOeNIX//E nnHtXY3LMZsq/AdhiyAopcP/CmzxDDW279c79KpYRsmPTAiiKDsjWxgKu/qxN/eSLda4 TZ4N35IeyH8vQvZjyU96TJdNelosdZ6CzFo6vqFew8aBKhm7pUyzaXn7QuiH2LiF35GS 7szAQtONcaYysVhtA8abO4RwLZBzp29UvBoVqwjzl3K6B3OBZb+JSvobClPcWkoV5OLN Bo+frua/xF7WmCNXiEsuWe/5IH4Y2kisKikahfpoEK8KE7Cny/q3cTOUL5W8p5gsvqZd aKAQ== X-Gm-Message-State: AC+VfDwyrN5MLiAgc7BpsONA6Sz4zV+vSCQlffnsg6VGk+9FvIbz6NpP M2LRnr7YVQc/ZYtVAbGgk2vUtqhSf7teiCHHw68R9fM3pIKmAcE14gUbjL3/3bcKJH+SFU7rxS1 6RH5C1du1r4r8jDE9ARPIck5N X-Received: by 2002:adf:fccd:0:b0:2e4:c9ac:c492 with SMTP id f13-20020adffccd000000b002e4c9acc492mr1293383wrs.1.1683018342788; Tue, 02 May 2023 02:05:42 -0700 (PDT) X-Received: by 2002:adf:fccd:0:b0:2e4:c9ac:c492 with SMTP id f13-20020adffccd000000b002e4c9acc492mr1293354wrs.1.1683018342311; Tue, 02 May 2023 02:05:42 -0700 (PDT) Received: from gerbillo.redhat.com (146-241-253-104.dyn.eolo.it. [146.241.253.104]) by smtp.gmail.com with ESMTPSA id bl13-20020adfe24d000000b003062d3daf79sm4895245wrb.107.2023.05.02.02.05.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 May 2023 02:05:41 -0700 (PDT) Message-ID: Subject: Re: [PATCH v3] virtio_net: suppress cpu stall when free_unused_bufs From: Paolo Abeni To: Wenliang Wang , mst@redhat.com, jasowang@redhat.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, zhengqi.arch@bytedance.com, willemdebruijn.kernel@gmail.com Cc: virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Date: Tue, 02 May 2023 11:05:40 +0200 In-Reply-To: <1682783278-12819-1-git-send-email-wangwenliang.1995@bytedance.com> References: <1682783278-12819-1-git-send-email-wangwenliang.1995@bytedance.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 2023-04-29 at 23:47 +0800, Wenliang Wang wrote: > For multi-queue and large ring-size use case, the following error > occurred when free_unused_bufs: > rcu: INFO: rcu_sched self-detected stall on CPU. >=20 > Signed-off-by: Wenliang Wang Net next is currently closed, but this patch could arguably land on the net tree - assuming Micheal agrees. In that case you should include a suitable Fixes tag - reposting a new version. > --- > v2: > -add need_resched check. > -apply same logic to sq. > v3: > -use cond_resched instead. > --- > drivers/net/virtio_net.c | 2 ++ > 1 file changed, 2 insertions(+) >=20 > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index ea1bd4bb326d..744bdc8a1abd 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -3559,12 +3559,14 @@ static void free_unused_bufs(struct virtnet_info = *vi) > struct virtqueue *vq =3D vi->sq[i].vq; > while ((buf =3D virtqueue_detach_unused_buf(vq)) !=3D NULL) > virtnet_sq_free_unused_buf(vq, buf); > + cond_resched(); Note that on v1 Xuan Zhuo suggested to do the above check only every a low fixed number of buffer. I think the current code is a better option, as the need_resched() check is very cheap and the overall code simpler. In any case, when submitting a new revision, please explicitly CC whoever gave feedback on previous ones. Thanks, Paolo