[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZquKHioPb6SMpztT@LQ3V64L9R2>
Date: Thu, 1 Aug 2024 14:14:06 +0100
From: Joe Damato <jdamato@...tly.com>
To: Stefan Roese <sr@...x.de>
Cc: Elad Yifee <eladwf@...il.com>, Felix Fietkau <nbd@....name>,
Sean Wang <sean.wang@...iatek.com>,
Mark Lee <Mark-MC.Lee@...iatek.com>,
Lorenzo Bianconi <lorenzo@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org,
Daniel Golle <daniel@...rotopia.org>
Subject: Re: [PATCH net-next v2 1/2] net: ethernet: mtk_eth_soc: use prefetch
methods
On Thu, Aug 01, 2024 at 09:09:27AM +0200, Stefan Roese wrote:
> On 7/30/24 20:35, Elad Yifee wrote:
> > On Tue, Jul 30, 2024 at 11:59 AM Joe Damato <jdamato@...tly.com> wrote:
> > >
> > > Based on the code in mtk_probe, I am guessing that only
> > > MTK_SOC_MT7628 can DMA to unaligned addresses, because for
> > > everything else eth->ip_align would be 0.
> > >
> > > Is that right?
> > >
> > > I am asking because the documentation in
> > > Documentation/core-api/unaligned-memory-access.rst refers to the
> > > case you mention, NET_IP_ALIGN = 0, suggesting that this is
> > > intentional for performance reasons on powerpc:
> > >
> > > One notable exception here is powerpc which defines NET_IP_ALIGN to
> > > 0 because DMA to unaligned addresses can be very expensive and dwarf
> > > the cost of unaligned loads.
> > >
> > > It goes on to explain that some devices cannot DMA to unaligned
> > > addresses and I assume that for your driver that is everything which
> > > is not MTK_SOC_MT7628 ?
> >
> > I have no explanation for this partial use of 'eth->ip_align', it
> > could be a mistake
> > or maybe I'm missing something.
> > Perhaps Stefan Roese, who wrote this part, has an explanation.
> > (adding Stefan to CC)
>
> Sorry, I can't answer this w/o digging deeper into this driver and
> SoC again. And I didn't use it for a few years now. It might be a
> mistake.
I asked about it because it was added in v2 of the patch, see the
changelog from the patch:
- use eth->ip_align instead of NET_IP_ALIGN as it could be 0,
depending on the platform
It seemed like from the changelog some one decided adding that made
sense and I was just confirming the reasoning above.
Powered by blists - more mailing lists