[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1184262525.3477.135.camel@ranko-fc2.spidernet.net>
Date: Thu, 12 Jul 2007 20:48:45 +0300
From: Ranko Zivojnovic <ranko@...dernet.net>
To: Patrick McHardy <kaber@...sh.net>
Cc: Jarek Poplawski <jarkao2@...pl>, netdev@...r.kernel.org
Subject: Re: [NET]: gen_estimator deadlock fix
On Thu, 2007-07-12 at 14:07 +0200, Patrick McHardy wrote:
> [Removed Andrew from CC]
>
> Ranko Zivojnovic wrote:
> > I agree - it does look like the most sensible thing to do - have
> > gnet_stats_basic and gnet_stats_rate_est allocated within the
> > gen_estimator struct rather than pointers looking here and there - and
> > provide api to maintain those stats - it simplifies the picture.
>
>
> The API is not very pretty, some improvement there would be welcome.
>
> > Also - the stats_lock in this case could be local to gen_estimator
> > struct, thus making the implementation completely "dev agnostic" - and
> > will not break on dev removal.
>
>
> The queue lock is used since thats what protects the qdisc counters.
Ok - here's the patch for a review - it compiles clean ... and that's as
much as it has been tested - I'll try give it a run later today or
definitely tomorrow.
'bstats' and 'rate_est' are now embedded into gen_estimator as well as
the spin_lock that protects them.
Introduced two new inline functions: gen_bstat_add() and gen_bstat_skb()
for maintaining the bstats within the gen_estimator structure.
Note that gen_bstat_skb includes also the TSO check and effectively
propagates the TSO support to all schedulers.
R.
View attachment "t" of type "text/plain" (32295 bytes)
Powered by blists - more mailing lists