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 C1D8DA034F for ; Wed, 11 Aug 2021 10:48:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 835BC411E4; Wed, 11 Aug 2021 10:48:36 +0200 (CEST) Received: from smtp-relay-canonical-1.canonical.com (smtp-relay-canonical-1.canonical.com [185.125.188.121]) by mails.dpdk.org (Postfix) with ESMTP id 03A49411DD for ; Wed, 11 Aug 2021 10:48:34 +0200 (CEST) Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-1.canonical.com (Postfix) with ESMTPS id C25F740618 for ; Wed, 11 Aug 2021 08:48:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1628671714; bh=XAYPLqvJsLn5W0JX2W+RDQpVGGmxSHU5QnhbrZsO7o0=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=ZJsix1AXvsLNa9u04LnLaXYHiKHPONbLnZj1+Y8C3KqtfLWseo0kYaSNlLZwuZl0n Fap7gt9/Qj2jKzMosbpuTLV35e8OViv5pksWSs2HRRa1M1num6WDfyiOvQh8YbhugH 41GynBWwI3C/xbXQyh1mJIg2FrD1hSn37Kb54YXvzlK190wKAKozR1ou07IbLNOKUc epYOIJQZob7Or0WAt/fnOF+seOXqUKofmDrVN0t+c92kPmFJHZGfvuSHGRKfuOq5qi d1bfmM1woDhyfJHkjQNpqneCn/XtNt5lU9fmvaLD0LyNSJmZaaYFFjRo+ARWMJQ52Q mC+iApV/L+ijA== Received: by mail-qt1-f199.google.com with SMTP id e3-20020ac80b030000b029028ac1c46c2aso974608qti.2 for ; Wed, 11 Aug 2021 01:48:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=XAYPLqvJsLn5W0JX2W+RDQpVGGmxSHU5QnhbrZsO7o0=; b=kt8DTp/uujgaoYjZtplSR6hwBzAN47KDYXoiGykLRm4QOeOUB6JMbrImYsGMekyYY1 E2+psBy9K/foOJmfQqLxneN4/yPmc5WZW4wYCNh22j/DVXAGHyrcw9G6aLQnCN16Sy2q ZzAEGTpL1FbsStNjrG+l6iYRhl333CSETX8eLk3mTeSeX9AMdM8kZCnmCojQDHd+/tOX hM2fcXyNWYHA6UuBwUFe4RuQ42AZSHy+DLatqED2C5IR/dUGY6BUt/dxoKpXjNsljPYl 3cDH/KX6qP6UWlVIml1Qd2VouSdDRvd4o4miJTRUsEBhWVxgmqu+nH/MFkhV4Is18Hnz lYew== X-Gm-Message-State: AOAM532O/HMjQB8IA+FGsMEzilomFd29yMxB5YUWK0mj1YO5I2P2u4Tx t56W0JiGhr9rRdVbybL45coCqMGcydw6jWM+aQswNHjIO3629a5ztzUboCMk+KeDHaWNsGMWses KmOHyCt2yXjEVrw+VnlYQQVDuhqiHDVi3sz09M1Pw X-Received: by 2002:ac8:4cc8:: with SMTP id l8mr29449197qtv.336.1628671713542; Wed, 11 Aug 2021 01:48:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxr7UqdcjJ6/6eCOxOrKjIBiiwSv04NxdEFtUmoHAPKQUjjd+OxNkIFWqFKUVOwLymi3Dard7AONlzdrLRSCmw= X-Received: by 2002:ac8:4cc8:: with SMTP id l8mr29449187qtv.336.1628671713346; Wed, 11 Aug 2021 01:48:33 -0700 (PDT) MIME-Version: 1.0 References: <20210811083146.2048667-1-feifei.wang2@arm.com> In-Reply-To: <20210811083146.2048667-1-feifei.wang2@arm.com> From: Christian Ehrhardt Date: Wed, 11 Aug 2021 10:48:07 +0200 Message-ID: To: Feifei Wang Cc: dpdk stable , nd@arm.com, Shahaf Shuler , Ruifeng Wang Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-stable] [PATCH 19.11] net/mlx5: fix incorrect r/w lock usage in DMA unmap 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 Wed, Aug 11, 2021 at 10:31 AM Feifei Wang wrote: > > [ upstream commit 1c196da274b82e6f1642bde7b1c407a2066caee1 ] > > For mlx5 DMA unmap, write lock should be used for rebuilding memory > region cache table rather than read lock. Thank you, applied to the WIP 19.11 branch > Fixes: 989e999d9305 ("net/mlx5: support PCI device DMA map and unmap") > Cc: shahafs@mellanox.com > Cc: stable@dpdk.org > > Signed-off-by: Feifei Wang > Reviewed-by: Ruifeng Wang > --- > drivers/net/mlx5/mlx5_mr.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c > index 54a11bd5d1..71c2254c91 100644 > --- a/drivers/net/mlx5/mlx5_mr.c > +++ b/drivers/net/mlx5/mlx5_mr.c > @@ -1397,10 +1397,10 @@ mlx5_dma_unmap(struct rte_pci_device *pdev, void *addr, > } > priv = dev->data->dev_private; > sh = priv->sh; > - rte_rwlock_read_lock(&sh->mr.rwlock); > + rte_rwlock_write_lock(&sh->mr.rwlock); > mr = mr_lookup_dev_list(sh, &entry, (uintptr_t)addr); > if (!mr) { > - rte_rwlock_read_unlock(&sh->mr.rwlock); > + rte_rwlock_write_unlock(&sh->mr.rwlock); > DRV_LOG(WARNING, "address 0x%" PRIxPTR " wasn't registered " > "to PCI device %p", (uintptr_t)addr, > (void *)pdev); > @@ -1424,7 +1424,7 @@ mlx5_dma_unmap(struct rte_pci_device *pdev, void *addr, > ++sh->mr.dev_gen; > DEBUG("broadcasting local cache flush, gen=%d", sh->mr.dev_gen); > rte_smp_wmb(); > - rte_rwlock_read_unlock(&sh->mr.rwlock); > + rte_rwlock_write_unlock(&sh->mr.rwlock); > return 0; > } > > -- > 2.25.1 > -- Christian Ehrhardt Staff Engineer, Ubuntu Server Canonical Ltd