locks and kernel randomness...
John-Mark Gurney
jmg at funkthat.com
Tue Feb 24 19:44:37 UTC 2015
Ian Lepore wrote this message on Tue, Feb 24, 2015 at 12:05 -0700:
> On Tue, 2015-02-24 at 10:30 -0800, John-Mark Gurney wrote:
> > Warner Losh wrote this message on Tue, Feb 24, 2015 at 11:03 -0700:
> > >
> > > > On Feb 24, 2015, at 10:40 AM, John-Mark Gurney <jmg at funkthat.com> wrote:
> > > >
> > > > Warner Losh wrote this message on Tue, Feb 24, 2015 at 07:56 -0700:
> > > >> Then again, if you want to change random(), provide a weak_random() that???s
> > > >> the traditional non-crypto thing that???s fast and lockless. That would make it easy
> > > >> to audit in our tree. The scheduler doesn???t need cryptographic randomness, it
> > > >> just needs to make different choices sometimes to ensure its notion of fairness.
> > > >
> > > > I do not support having a weak_random... If the consumer is sure
> > > > enough that you don't need a secure random, then they can pick an LCG
> > > > and implement it themselves and deal (or not) w/ the locking issues...
> > > >
> > > > It appears that the scheduler had an LCG but for some reason the authors
> > > > didn't feel like using it here..
> > >
> > > Why don???t you support having a common random routine that???s to mix the
> > > pot, but not cryptographically secure? Lots of algorithms use them, and having
> > > a common one would keep us from reinventing the wheel.
> >
> > Why can't these algorithms use a cryptographically secure RNG instead?
> > No one has truely answered that point.. Everyone says they want to use
> > an insecure RNG, but the real question is, why can't/shouldn't these
> > algorithms use a CSPRNG?
>
> Because of performance. Not everything needs crypto-strength
> randomness.
LOL...
If you need something that gives you more than 500MB/sec of randomness,
using an LCG is the least of your worries, and you need to be implementing
you're own anyways...
> The problem here is that you are never going to accept the validity of
> that statement no matter how many of us complain over and over again
> about this kind of thing. You've got some religion that the rest of us
Give me examples of code in the tree that needs high performance, low
quality randomness, and I will agree with you and provide the interface,
but as long as you continue to create strawmen, I won't...
The example we've been discussing of the scheduler is called LESS than
once a second! OMG! soo many cycles wasted!
> don't buy into, and you've got it fervently enough that you'll just keep
> saying the same mindless things over and over again until we all get
> bored and wander away.
Just like you keep mindless saying that people need an LCG because
performance, trust us! Performance! Performance!
> And freebsd gets a little more bloated and a little slower and a lot
> less able to run on anything except the very fastest hardware that was
> just released last week. Thanks for "improving" it in that way.
Again, give me an example of calling random(9) more than 100 times per
second, or testing w/ my patch, and showing more than .01% cpu in random
and I'll have an honest discussion about this... But you're speculating
on performance issues w/o numbers...
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
More information about the freebsd-arch
mailing list