RE: [EXTERNAL] Re: [PATCH net-next v2 01/13] net: mana: add queue-set allocation and teardown helpers

Long Li <[email protected]>
Newsgroups dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-hyperv
Message-ID <SA1PR21MB66837CDCF8E35CADA976DAF3CEDA2@SA1PR21MB6683.namprd21.prod.outlook.com>
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s)
> to consider:
> - [Medium] User-configured RSS indirection table is silently discarded and
> reset to defaults during per-queue reconfigurations.
> --
> 
> --- Patch [1]: [PATCH net-next v2 01/13] net: mana: add queue-set allocation
> and teardown helpers --- commit
> fcc6a74602d4e66dc287809434c5e9b44c3be829
> Author: Long Li <[email protected]>
> Subject: net: mana: add queue-set allocation and teardown helpers
> 
> The ethtool reconfiguration paths (channel count, ring size, private flags),
> mana_change_mtu() and mana_xdp_set() rebuild the queues with
> mana_detach() then mana_attach(). This adds the data model and helpers
> for pre-allocate and swap to independently build and tear down a queue set.
> 
> > diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c
> > b/drivers/net/ethernet/microsoft/mana/mana_en.c
> > --- a/drivers/net/ethernet/microsoft/mana/mana_en.c
> > +++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
> [ ... ]
> > +int mana_alloc_qset(struct mana_port_context *scratch, unsigned int
> num_queues,
> > +		    unsigned int rx_queue_size, unsigned int tx_queue_size,
> > +		    u32 priv_flags, struct mana_qset *out) {
> > +	struct net_device *ndev = scratch->ndev;
> > +	int err;
> [ ... ]
> > +	err = mana_rss_table_alloc(scratch);
> > +	if (err)
> > +		goto cleanup_rxq_array;
> > +
> > +	err = mana_create_eq(scratch);
> > +	if (err)
> > +		goto cleanup_rss;
> > +
> > +	err = mana_create_txq(scratch, ndev);
> > +	if (err)
> > +		goto cleanup_eq;
> > +
> > +	err = mana_add_rx_queues(scratch, ndev);
> > +	if (err)
> > +		goto cleanup_rxq;
> > +
> > +	mana_rss_table_init(scratch);
> 
> [Severity: Medium]
> Will this unconditionally reset the RSS indirection table to defaults during
> reconfigurations?
> 
> Since mana_rss_table_alloc() creates a new table and mana_rss_table_init()
> initializes it to default round-robin values, it seems like a user's existing
> custom RSS steering configuration might be silently overwritten when the new
> queue set is published.
> 
> Could this cause a regression where the custom configuration is lost? Should
> it be preserved by copying the existing table from the active port context
> instead?

patch 11/13 fixed this.

Long
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.