All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jijie Shao <shaojijie@huawei.com>
To: <stable@vger.kernel.org>, <stable-commits@vger.kernel.org>,
	<shenjian15@huawei.com>
Cc: <shaojijie@huawei.com>, Salil Mehta <salil.mehta@huawei.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Subject: Re: Patch "net: hns3: add sync command to sync io-pgtable" has been added to the 6.11-stable tree
Date: Tue, 5 Nov 2024 10:59:54 +0800	[thread overview]
Message-ID: <8ce8ba06-acb9-400f-acee-ef0dbd023dc1@huawei.com> (raw)
In-Reply-To: <20241101192250.3849110-1-sashal@kernel.org>


on 2024/11/2 3:22, Sasha Levin wrote:
> This is a note to let you know that I've just added the patch titled
>
>      net: hns3: add sync command to sync io-pgtable
>
> to the 6.11-stable tree which can be found at:
>      http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>
> The filename of the patch is:
>       net-hns3-add-sync-command-to-sync-io-pgtable.patch
> and it can be found in the queue-6.11 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.

Hi:
This patch was reverted from netdev,
so, it also need be reverted from stable tree.
I am sorry for that.

reverted link:
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=249cfa318fb1b77eb726c2ff4f74c9685f04e568

Thanks,
Jijie Shao

>
>
>
> commit 0ea8c71561bc40a678c7bf15e081737e1f2d15e2
> Author: Jian Shen <shenjian15@huawei.com>
> Date:   Fri Oct 25 17:29:31 2024 +0800
>
>      net: hns3: add sync command to sync io-pgtable
>      
>      [ Upstream commit f2c14899caba76da93ff3fff46b4d5a8f43ce07e ]
>      
>      To avoid errors in pgtable prefectch, add a sync command to sync
>      io-pagtable.
>      
>      This is a supplement for the previous patch.
>      We want all the tx packet can be handled with tx bounce buffer path.
>      But it depends on the remain space of the spare buffer, checked by the
>      hns3_can_use_tx_bounce(). In most cases, maybe 99.99%, it returns true.
>      But once it return false by no available space, the packet will be handled
>      with the former path, which will map/unmap the skb buffer.
>      Then the driver will face the smmu prefetch risk again.
>      
>      So add a sync command in this case to avoid smmu prefectch,
>      just protects corner scenes.
>      
>      Fixes: 295ba232a8c3 ("net: hns3: add device version to replace pci revision")
>      Signed-off-by: Jian Shen <shenjian15@huawei.com>
>      Signed-off-by: Peiyang Wang <wangpeiyang1@huawei.com>
>      Signed-off-by: Jijie Shao <shaojijie@huawei.com>
>      Signed-off-by: Paolo Abeni <pabeni@redhat.com>
>      Signed-off-by: Sasha Levin <sashal@kernel.org>
>
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
> index ac88e301f2211..8760b4e9ade6b 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
> @@ -381,6 +381,24 @@ static const struct hns3_rx_ptype hns3_rx_ptype_tbl[] = {
>   #define HNS3_INVALID_PTYPE \
>   		ARRAY_SIZE(hns3_rx_ptype_tbl)
>   
> +static void hns3_dma_map_sync(struct device *dev, unsigned long iova)
> +{
> +	struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
> +	struct iommu_iotlb_gather iotlb_gather;
> +	size_t granule;
> +
> +	if (!domain || !iommu_is_dma_domain(domain))
> +		return;
> +
> +	granule = 1 << __ffs(domain->pgsize_bitmap);
> +	iova = ALIGN_DOWN(iova, granule);
> +	iotlb_gather.start = iova;
> +	iotlb_gather.end = iova + granule - 1;
> +	iotlb_gather.pgsize = granule;
> +
> +	iommu_iotlb_sync(domain, &iotlb_gather);
> +}
> +
>   static irqreturn_t hns3_irq_handle(int irq, void *vector)
>   {
>   	struct hns3_enet_tqp_vector *tqp_vector = vector;
> @@ -1728,7 +1746,9 @@ static int hns3_map_and_fill_desc(struct hns3_enet_ring *ring, void *priv,
>   				  unsigned int type)
>   {
>   	struct hns3_desc_cb *desc_cb = &ring->desc_cb[ring->next_to_use];
> +	struct hnae3_handle *handle = ring->tqp->handle;
>   	struct device *dev = ring_to_dev(ring);
> +	struct hnae3_ae_dev *ae_dev;
>   	unsigned int size;
>   	dma_addr_t dma;
>   
> @@ -1760,6 +1780,13 @@ static int hns3_map_and_fill_desc(struct hns3_enet_ring *ring, void *priv,
>   		return -ENOMEM;
>   	}
>   
> +	/* Add a SYNC command to sync io-pgtale to avoid errors in pgtable
> +	 * prefetch
> +	 */
> +	ae_dev = hns3_get_ae_dev(handle);
> +	if (ae_dev->dev_version >= HNAE3_DEVICE_VERSION_V3)
> +		hns3_dma_map_sync(dev, dma);
> +
>   	desc_cb->priv = priv;
>   	desc_cb->length = size;
>   	desc_cb->dma = dma;

       reply	other threads:[~2024-11-05  2:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20241101192250.3849110-1-sashal@kernel.org>
2024-11-05  2:59 ` Jijie Shao [this message]
2024-11-05 10:22   ` Patch "net: hns3: add sync command to sync io-pgtable" has been added to the 6.11-stable tree Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8ce8ba06-acb9-400f-acee-ef0dbd023dc1@huawei.com \
    --to=shaojijie@huawei.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=pabeni@redhat.com \
    --cc=salil.mehta@huawei.com \
    --cc=shenjian15@huawei.com \
    --cc=stable-commits@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.