[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Y+DT78lbinHKcxvb@corigine.com>
Date: Mon, 6 Feb 2023 11:18:23 +0100
From: Simon Horman <simon.horman@...igine.com>
To: Daniel.Machon@...rochip.com
Cc: netdev@...r.kernel.org, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, Lars.Povlsen@...rochip.com,
Steen.Hegelund@...rochip.com, UNGLinuxDriver@...rochip.com,
joe@...ches.com, richardcochran@...il.com, casper.casan@...il.com,
Horatiu.Vultur@...rochip.com, shangxiaojing@...wei.com,
rmk+kernel@...linux.org.uk, nhuck@...gle.com, error27@...il.com,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH net-next 03/10] net: microchip: sparx5: add support for
Service Dual Leacky Buckets
On Sun, Feb 05, 2023 at 08:11:02PM +0000, Daniel.Machon@...rochip.com wrote:
> Hi Simon,
>
> Thanks for reviewing my patches, appreciate it!
>
> > > +static u32 sparx5_sdlb_group_get_last(struct sparx5 *sparx5, u32 group)
> > > +{
> > > + u32 itr, next;
> > > +
> > > + itr = sparx5_sdlb_group_get_first(sparx5, group);
> > > +
> > > + for (;;) {
> >
> > Unbounded loops like this give me some apprehension.
> > Will they always terminate?
>
> Yes, it will always terminate - unless the add() del() functions are
> buggy to begin with.
>
> The end of the leak chain is marked by an index pointing to itself, and
> this is the exit condition I am looking for in the unbounded loop.
Thanks for confirming, much appreciated.
Powered by blists - more mailing lists