Re: [PATCH net-next v2] net: mana: Implement get_ringparam/set_ringparam for mana

From: Shradha Gupta
Date: Sun Aug 04 2024 - 23:48:36 EST


On Sat, Aug 03, 2024 at 11:31:54AM -0700, Stephen Hemminger wrote:
> On Sun, 4 Aug 2024 02:09:21 +0800
> Zhu Yanjun <yanjun.zhu@xxxxxxxxx> wrote:
>
> > >
> > > /* The minimum size of the WQE is 32 bytes, hence
> > > - * MAX_SEND_BUFFERS_PER_QUEUE represents the maximum number of WQEs
> > > + * apc->tx_queue_size represents the maximum number of WQEs
> > > * the SQ can store. This value is then used to size other queues
> > > * to prevent overflow.
> > > + * Also note that the txq_size is always going to be MANA_PAGE_ALIGNED,
> > > + * as tx_queue_size is always a power of 2.
> > > */
> > > - txq_size = MAX_SEND_BUFFERS_PER_QUEUE * 32;
> > > - BUILD_BUG_ON(!MANA_PAGE_ALIGNED(txq_size));
> > > + txq_size = apc->tx_queue_size * 32;
> >
> > Not sure if the following is needed or not.
> > "
> > WARN_ON(!MANA_PAGE_ALIGNED(txq_size));
> > "
> >
> > Zhu Yanjun
>
> On many systems warn is set to panic the system.
> Any constraint like this should be enforced where user input
> is managed. In this patch, that would be earlier in mana_set_ringparam().
> Looking there, the only requirement is that txq_size is between
> the min/max buffers per queue and a power of 2.

Thanks Stephen, that's right.