From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3FFEFA0C4E for ; Fri, 15 Oct 2021 15:57:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 268EA410F1; Fri, 15 Oct 2021 15:57:49 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id C030041243 for ; Fri, 15 Oct 2021 15:57:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1634306266; 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=bg3ZjmdQa/uTU72/B4r5Yx/8VfmyybCYVKUHnMH53B8=; b=RRtwK+2WdMrKEJ4buhf+4snHHcM5y8HW1OPjrjmSNUdOLVEtyj7bABYqhBDFVyC2h61KS2 arHi45lbg9cjF7FPLL8R9EE2ZN3gx6kWpO36d7QvTlsIIHA4eAI2rx9Z0FbnBHUreIS6PM mjuU3IV0O6Gvn5bLs277e9XPgIQRsNs= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-15-pW98ywjCOR-HWly8eP8urA-1; Fri, 15 Oct 2021 09:57:43 -0400 X-MC-Unique: pW98ywjCOR-HWly8eP8urA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D37765722C; Fri, 15 Oct 2021 13:57:41 +0000 (UTC) Received: from [10.39.208.38] (unknown [10.39.208.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9B64C2B399; Fri, 15 Oct 2021 13:57:40 +0000 (UTC) Message-ID: Date: Fri, 15 Oct 2021 15:57:38 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.1.0 To: Xueming Li , dev@dpdk.org Cc: stable@dpdk.org, Matan Azrad , Viacheslav Ovsiienko References: <20210923081758.178745-1-xuemingl@nvidia.com> <20211015134319.1664761-1-xuemingl@nvidia.com> From: Maxime Coquelin In-Reply-To: <20211015134319.1664761-1-xuemingl@nvidia.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=maxime.coquelin@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-stable] [PATCH v1 1/2] vdpa/mlx5: workaround FW first completion in start X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" On 10/15/21 15:43, Xueming Li wrote: > After a vDPA application restart, qemu restores VQ with used and > available index, new incoming packet triggers virtio driver to > handle buffers. Under heavy traffic, no available buffer for > firmware to receive new packets, no Rx interrupts generated, > driver is stuck on endless interrupt waiting. > > As a firmware workaround, this patch sends a notification after > VQ setup to ask driver handling buffers and filling new buffers. > As I mentionned on my reply to the v1, I would expect a Fixes tag, it would make downstream maintainers life easier. Maybe pointing to the commit introducing the function would help. this is not ideal, but otherwise the risk is that your patch get missed by the stable maintainers. Thanks! Maxime > Cc: stable@dpdk.org > > Signed-off-by: Xueming Li > Reviewed-by: Matan Azrad > --- > drivers/vdpa/mlx5/mlx5_vdpa_virtq.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c b/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c > index f530646058f..71470d23d9e 100644 > --- a/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c > +++ b/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c > @@ -4,6 +4,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -367,6 +368,9 @@ mlx5_vdpa_virtq_setup(struct mlx5_vdpa_priv *priv, int index) > goto error; > } > virtq->stopped = false; > + /* Initial notification to ask qemu handling completed buffers. */ > + if (virtq->eqp.cq.callfd != -1) > + eventfd_write(virtq->eqp.cq.callfd, (eventfd_t)1); > DRV_LOG(DEBUG, "vid %u virtq %u was created successfully.", priv->vid, > index); > return 0; >