• Ingo Molnar's avatar
    kconfig: improve seed in randconfig · b0fe5510
    Ingo Molnar authored
    '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: default avatarIngo 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: default avatarSam Ravnborg <sam@ravnborg.org>
    b0fe5510
Name
Last commit
Last update
..
basic Loading commit data...
genksyms Loading commit data...
kconfig Loading commit data...
ksymoops Loading commit data...
mod Loading commit data...
package Loading commit data...
rt-tester Loading commit data...
selinux Loading commit data...
trace Loading commit data...
tracing Loading commit data...
.gitignore Loading commit data...
Kbuild.include Loading commit data...
Lindent Loading commit data...
Makefile Loading commit data...
Makefile.build Loading commit data...
Makefile.clean Loading commit data...
Makefile.fwinst Loading commit data...
Makefile.headersinst Loading commit data...
Makefile.host Loading commit data...
Makefile.lib Loading commit data...
Makefile.modinst Loading commit data...
Makefile.modpost Loading commit data...
bin2c.c Loading commit data...
binoffset.c Loading commit data...
bloat-o-meter Loading commit data...
bootgraph.pl Loading commit data...
checkincludes.pl Loading commit data...
checkkconfigsymbols.sh Loading commit data...
checkpatch.pl Loading commit data...
checkstack.pl Loading commit data...
checksyscalls.sh Loading commit data...
checkversion.pl Loading commit data...
cleanfile Loading commit data...
cleanpatch Loading commit data...
config Loading commit data...
conmakehash.c Loading commit data...
decodecode Loading commit data...
diffconfig Loading commit data...
export_report.pl Loading commit data...
extract-ikconfig Loading commit data...
gcc-version.sh Loading commit data...
gcc-x86_64-has-stack-protector.sh Loading commit data...
gen_initramfs_list.sh Loading commit data...
headerdep.pl Loading commit data...
headers.sh Loading commit data...
headers_check.pl Loading commit data...
headers_install.pl Loading commit data...
ihex2fw.c Loading commit data...
kallsyms.c Loading commit data...
kernel-doc Loading commit data...
makelst Loading commit data...
markup_oops.pl Loading commit data...
mkcompile_h Loading commit data...
mkmakefile Loading commit data...
mksysmap Loading commit data...
mkuboot.sh Loading commit data...
mkversion Loading commit data...
namespace.pl Loading commit data...
patch-kernel Loading commit data...
pnmtologo.c Loading commit data...
profile2linkerlist.pl Loading commit data...
recordmcount.pl Loading commit data...
setlocalversion Loading commit data...
show_delta Loading commit data...
tags.sh Loading commit data...
unifdef.c Loading commit data...
ver_linux Loading commit data...