[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cf89bdd3-9c1a-4cc0-ba64-2b66e5ff2a4c@huawei.com>
Date: Wed, 16 Oct 2024 19:44:07 +0800
From: Jijie Shao <shaojijie@...wei.com>
To: Jakub Kicinski <kuba@...nel.org>
CC: <shaojijie@...wei.com>, <davem@...emloft.net>, <edumazet@...gle.com>,
<pabeni@...hat.com>, <shenjian15@...wei.com>, <salil.mehta@...wei.com>,
<liuyonglong@...wei.com>, <wangpeiyang1@...wei.com>, <lanhao@...wei.com>,
<chenhao418@...wei.com>, <netdev@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net 1/9] net: hns3: default enable tx bounce buffer when
smmu enabled
on 2024/10/16 9:16, Jakub Kicinski wrote:
> On Fri, 11 Oct 2024 17:45:13 +0800 Jijie Shao wrote:
>> From: Peiyang Wang <wangpeiyang1@...wei.com>
>>
>> When TX bounce buffer is enabled, dma map is used only when the buffer
>> initialized. When spending packages, the driver only do dma sync. To
> packages -> packets
>
>> avoid SMMU prefetch, default enable tx bounce buffer if smmu enabled.
> you seem to force it to be enabled, rather than just changing
> the default. That is strange. Why not let the user lower the value?
>
> Also I don't see why this is a fix. Seems like a performance
> improvement.
Sorry, there's a problem with the layout of the first reply.
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 to improve performance.
Thanks
Jijie Shao
Powered by blists - more mailing lists