]> Git Repo - linux.git/commit
net: hns3: default enable tx bounce buffer when smmu enabled
authorPeiyang Wang <[email protected]>
Fri, 25 Oct 2024 09:29:30 +0000 (17:29 +0800)
committerPaolo Abeni <[email protected]>
Thu, 31 Oct 2024 10:15:42 +0000 (11:15 +0100)
commite6ab19443b36a45ebfb392775cb17d6a78dd07ea
tree429b20d2bc030fcef522c6c41a0c74d92a8210c6
parent637f41476384c76d3cd7dcf5947caf2c8b8d7a9b
net: hns3: default enable tx bounce buffer when smmu enabled

The SMMU engine on HIP09 chip has a hardware issue.
SMMU pagetable prefetch features may prefetch and use a invalid PTE
even the PTE is valid at that time. This will cause the device trigger
fake pagefaults. The solution is to avoid prefetching by adding a
SYNC command when smmu mapping a iova. But the performance of nic has a
sharp drop. Then we do this workaround, always enable tx bounce buffer,
avoid mapping/unmapping on TX path.

This issue only affects HNS3, so we always enable
tx bounce buffer when smmu enabled to improve performance.

Fixes: 295ba232a8c3 ("net: hns3: add device version to replace pci revision")
Signed-off-by: Peiyang Wang <[email protected]>
Signed-off-by: Jian Shen <[email protected]>
Signed-off-by: Jijie Shao <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
This page took 0.075596 seconds and 4 git commands to generate.