Subject: Re: [net-next v8 2/3] net: ethernet: mtk_eth_soc: Add RSS support

From: "Frank Wunderlich" <[email-masked]>
Date: Fri, 15 May 2026 11:13:05 +0000

Hi Jakub,

thanks for your review, i have to discuss the previous parts (AI-review)
with MTK on how to make it better. The changes there seem not trivial for
me and this will take some time.

Am 14. Mai 2026 um 03:56 schrieb "Jakub Kicinski" <[email-masked]>:
> 
> On Sat, 9 May 2026 21:09:31 +0200 Frank Wunderlich wrote:
> 
> > 
> > From: Mason Chang <[email-masked]>
> >  
> >  Add support for Receive Side Scaling.
> >  
> >  We can adjust SMP affinity with the following command:
> >  echo [CPU bitmap num] > /proc/irq/[virtual IRQ ID]/smp_affinity,
> >  with interrupts evenly assigned to 4 CPUs, we were able to measure
> >  an RX throughput of 7.3Gbps using iperf3 on the MT7988. Further
> >  optimizations will be carried out in the future.
> > 
> Would be great to split this up a little more for ease of review.

you mean splitting the code into more separate patches or the commit description?

> > 
> > +static int mtk_rss_init(struct mtk_eth *eth)
> >  +{
> >  + const struct mtk_soc_data *soc = eth->soc;
> >  + const struct mtk_reg_map *reg_map = eth->soc->reg_map;
> >  + struct mtk_rss_params *rss_params = &eth->rss_params;
> > 
> reverse xmas tree should be followed, please fix everywhere in this
> submission 

will check again when we have the fixed flow (AI-review).

> > 
> >  +/* struct mtk_rss_params - This is the structure holding parameters
> >  + * for the RSS ring
> >  + * @hash_key The element is used to record the
> >  + * secret key for the RSS ring
> >  + * indirection_table The element is used to record the
> >  + * indirection table for the RSS ring
> >  + */
> > 
> Quite odd looking comment. Having the right side aligned like that
> makes it header to correlate where doc for fields start.
> And there's @ missing for indirection_table.

dito

@Mason: have you found some time for looking into the AI suggestions?
Maybe it is better discussing changes here if they match upstream
requirements as i did only up-port the SDK-patches with some small
changes and made tests :)
As a note: i have not activated RSS/LRO on other mt798x because it was
not clear, if RSS or LRO is better for them and only mt7988 can do both
simultanously. AI also complained about it. And this decision causes
changes in code too.
It would be great if you can use the actual state here as base for
changes so that i do not miss anything when upporting the SDK state again.

regards Frank