On 09/16/2015 12:21 PM, Josh Wu wrote: > As 'time(0) | getpid()' will have a lot of duplicated value. It is not a > expected behavior. We expect different value for the seed when when run
when when ... could be fixed when applied > it in many times. > > So this patch will left shift the getpid() and add to time(0). That > avoid duplicated value. > > Test command is like: > % RUN=0; while [ $RUN -lt 10000 ]; do > tools/gen_eth_addr; RUN=$(($RUN+1)); done | sort | uniq | wc -l > 10000 > > This patch is incorporated with suggestions made by Wolfgang Denk and Andreas > Bießmann. Thanks them a lot. > > Signed-off-by: Josh Wu <josh...@atmel.com> Acked-by: Andreas Bießmann <andreas.de...@googlemail.com> > --- > > Changes in v2: > - left shift and add the getpid() value instead of removing it. > > tools/gen_eth_addr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/gen_eth_addr.c b/tools/gen_eth_addr.c > index bf9d935..5fa3e0c 100644 > --- a/tools/gen_eth_addr.c > +++ b/tools/gen_eth_addr.c > @@ -15,7 +15,7 @@ main(int argc, char *argv[]) > { > unsigned long ethaddr_low, ethaddr_high; > > - srand(time(0) | getpid()); > + srand(time(0) + (getpid() << 8)); > > /* > * setting the 2nd LSB in the most significant byte of > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot