[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z5IbIeOxrkMoASdJ@HOME-PC>
Date: Thu, 23 Jan 2025 16:04:09 +0530
From: Dheeraj Reddy Jonnalagadda <dheeraj.linuxdev@...il.com>
To: Wei Fang <wei.fang@....com>
Cc: Shenwei Wang <shenwei.wang@....com>, Clark Wang <xiaoning.wang@....com>,
"andrew+netdev@...n.ch" <andrew+netdev@...n.ch>,
"davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com" <edumazet@...gle.com>,
"kuba@...nel.org" <kuba@...nel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>,
"imx@...ts.linux.dev" <imx@...ts.linux.dev>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net] net: fec: remove unnecessary DMA mapping of TSO
header
On Thu, Jan 23, 2025 at 02:58:32AM +0000, Wei Fang wrote:
>
> Hi Dheeraj,
>
> I must admit that I misread it too. There is another case in the TSO
> header where txq->tx_bounce may be used in some cases. I think
> the most correct fix is to make txq->tso_hdrs aligned to 32/64 bytes
> when allocating tso_hdrs, then we do not need to use txq->tx_bounce
> in fec_enet_txq_put_hdr_tso(), because (bufaddr) & fep->tx_align)
> will not be true. This way we can safely remove dma_map_single()
> from fec_enet_txq_put_hdr_tso().
Hi Fang, Simon,
Thank you for the feedback. I have a clarification question regarding
the alignment of txq->tso_hdrs.
In the current code, txq->tso_hdrs is allocated using fec_dma_alloc(),
which internally calls dma_alloc_coherent(). As I understand it,
dma_alloc_coherent() guarantees that the allocated buffer is properly aligned.
Given this, should we remove the alignment check
((unsigned long)bufaddr) & fep->tx_align and the associated dma_map_single()
logic entirely from fec_enet_txq_put_hdr_tso() as you have suggested?
-Dheeraj
Powered by blists - more mailing lists