Linux kernel -stable discussions
 help / color / mirror / Atom feed
* Re: Patch "net: hns3: add sync command to sync io-pgtable" has been added to the 6.11-stable tree
       [not found] <20241101192250.3849110-1-sashal@kernel.org>
@ 2024-11-05  2:59 ` Jijie Shao
  2024-11-05 10:22   ` Sasha Levin
  0 siblings, 1 reply; 2+ messages in thread
From: Jijie Shao @ 2024-11-05  2:59 UTC (permalink / raw)
  To: stable, stable-commits, shenjian15
  Cc: shaojijie, Salil Mehta, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni


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;

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Patch "net: hns3: add sync command to sync io-pgtable" has been added to the 6.11-stable tree
  2024-11-05  2:59 ` Patch "net: hns3: add sync command to sync io-pgtable" has been added to the 6.11-stable tree Jijie Shao
@ 2024-11-05 10:22   ` Sasha Levin
  0 siblings, 0 replies; 2+ messages in thread
From: Sasha Levin @ 2024-11-05 10:22 UTC (permalink / raw)
  To: Jijie Shao
  Cc: stable, stable-commits, shenjian15, Salil Mehta, Andrew Lunn,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni

On Tue, Nov 05, 2024 at 10:59:54AM +0800, Jijie Shao wrote:
>
>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.

I'll drop this and the other hns3 commits that were reverted. Thanks!

-- 
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-11-05 10:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20241101192250.3849110-1-sashal@kernel.org>
2024-11-05  2:59 ` Patch "net: hns3: add sync command to sync io-pgtable" has been added to the 6.11-stable tree Jijie Shao
2024-11-05 10:22   ` Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox