kconfig: improve seed in randconfig
authorIngo Molnar <mingo@elte.hu>
Thu, 12 Mar 2009 14:15:31 +0000 (15:15 +0100)
committerSam Ravnborg <sam@ravnborg.org>
Sun, 15 Mar 2009 22:02:07 +0000 (23:02 +0100)
commitb0fe551000179c868d46266278a890eab878baca
tree2881090d0a3da1508dc51abffe358406e0527fe1
parent184832c981fd38b1052f2dfa0262e793fa6c67d3
kconfig: improve seed in randconfig

'make randconfig' uses glibc's rand function, and the seed of
that PRNG is set via:

srand(time(NULL));

But 'time()' only increases once every second - freezing the
randconfig result within a single second.

My Nehalem testbox does randconfig much faster than 1 second
 and i have a few scripts that do 'randconfig until condition X'
loops.

Those scripts currently waste a lot of CPU time due to randconfig
changing its seed only once per second currently.

Change the seed to be micrseconds based. (I checked the statistical
spread of the seed - the now.tv_sec*now.tv_usec multiplication
there further improves it.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Roman Zippel <zippel@linux-m68k.org>
[sam: fix for systems where usec is zero - noticed by Geert Uytterhoeven]
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
scripts/kconfig/conf.c