Subject: Re: [PATCH] Stochastic Fair Blue queue discipline

From: Stephen Hemminger <[email-masked]>
Date: Thu, 10 Apr 2008 09:04:23 -0500

On Thu, 10 Apr 2008 03:38:13 +0200
Patrick McHardy <[email-masked]> wrote:

> Patrick McHardy wrote:
> > Andi Kleen wrote:
> >>> Random32 is initialised from get_random_bytes; so the per-cpu
> >>> pseudo-random sequences should be uncorrelated.  I fail to see how an
> >>> arbitrary interleaving of uncorrelated good pseudo-random sequences
> >>> can fail to be good.
> >>
> >> They are not necessarily uncorreleated, especially on platforms
> >> which do have poor entropy support and when your initialization happens
> >> at boot time. Take a look at how the random pool starts in random.c.
> >>
> >>> Looking at line 448 of sch_sfq.c in Linus' current HEAD, I see that
> >>> somebody else thinks the same as I do.  So please let me know if sfq
> >>> needs fixed, or whether I can use net_random in sfb.
> >>
> >> A lot of people get this wrong, but this doesn't mean that the
> >> problem should be readded in new code again.
> > 
> > 
> > Well, if I'm not mistaken net_random() used to be a function
> > (in net/core/utils.c) that didn't have this problem. So these
> > problems seem to have been introduced by the conversion to
> > srandom().
> 
> Two more noteworthy things:
> 
> - net_random() was intended to provide *mediocre* random,
> cheap to compute, not perfect. Good enough for many networking
> related things.
> 
> - traffic schedulers shouldn't depend on perfect random,
> its more about statistical multiplexing.

Anything related to random number seems to bring out the paranoia
in people.