From: Jan Weitzel <J.Weitzel@phytec.de>
To: Brian Norris <computersforpeace@gmail.com>
Cc: linux-mtd@lists.infradead.org, Artem Bityutskiy <dedekind1@gmail.com>
Subject: Re: [PATCH] nandtest: seed random generator properly
Date: Thu, 01 Dec 2011 09:23:01 +0100 [thread overview]
Message-ID: <1322727781.4543.31.camel@lws-weitzel> (raw)
In-Reply-To: <CAN8TOE-zTCY-SRrVpsFExu32yq_3j7FJGgVUBN3CEt_E_qzS8Q@mail.gmail.com>
Am Mittwoch, den 30.11.2011, 10:24 -0800 schrieb Brian Norris:
> On Mon, Nov 28, 2011 at 11:30 PM, Jan Weitzel <J.Weitzel@phytec.de> wrote:
> > Brian Norris <computersforpeace@gmail.com> schrieb am 28.11.2011 19:11:52:
> >> + if (seed < 0)
> >> + seed = time(NULL);
> >> + srand(seed);
> >
> > So you loose all negative seeds.
>
> Well, srand() technically takes unsigned ints, so all seeds are
> technically positive. But that just means we're parsing and storing
> seeds wrong (not a big deal, really).
>
> > What is about
> >
> > int seed = time(NULL);
> > ...
> > case 's'
> > seed = atol(optarg);
> > ...
> > }
> > srand(seed);
>
> Not sure if I understand the question perfectly (clarify if I'm
> wrong). My patch was intended to:
> (1) use the user-supplied seed (--seed=X) if supplied
> (2) use a random seed (based on time()) if the seed is left
> uninitialized (i.e., -1)
>
> Anyway, I see a problem with my method. How about the following patch,
> which saves the time first, then overwrites it with the supplied seed
> if provided.
Acked-by: Jan Weitzel <j.weitzel@phytec.de>
Maybe you need to rebase it, because my former patch just got pushed.
> From 4df0643c4819f5de5db54b855406852da0dc6bf1 Mon Sep 17 00:00:00 2001
> From: Brian Norris <computersforpeace@gmail.com>
> Date: Mon, 28 Nov 2011 10:03:30 -0800
> Subject: [PATCH] nandtest: seed random generator properly
>
> This patch fixes two problems in nandtest:
>
> * if a seed is provided it is actually not used. First call is
> "seed = rand()" killing the given seed.
> Credit: Jan Weitzel <j.weitzel@phytec.de>
>
> * if a seed is not provided, we use the default rand() values, which
> produces the same sequence of values every run.r
>
> To solve these problems, we seed the random number generator with either
> the time() or the supplied seed.
>
> Cc: Jan Weitzel <j.weitzel@phytec.de>
> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> ---
> nandtest.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/nandtest.c b/nandtest.c
> index dc28d09..7811be2 100644
> --- a/nandtest.c
> +++ b/nandtest.c
> @@ -140,6 +140,8 @@ int main(int argc, char **argv)
> uint32_t offset = 0;
> uint32_t length = -1;
>
> + seed = time(NULL);
> +
> for (;;) {
> static const char *short_options="hkl:mo:p:s:";
> static const struct option long_options[] = {
> @@ -243,6 +245,8 @@ int main(int argc, char **argv)
> printf("Bad blocks : %d\n", oldstats.badblocks);
> printf("BBT blocks : %d\n", oldstats.bbtblocks);
>
> + srand(seed);
> +
> for (pass = 0; pass < nr_passes; pass++) {
> loff_t test_ofs;
>
next prev parent reply other threads:[~2011-12-01 8:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-24 10:57 [PATCH] nandtest: use seed argument Jan Weitzel
2011-11-28 17:56 ` Brian Norris
2011-11-28 18:11 ` [PATCH] nandtest: seed random generator properly Brian Norris
2011-11-29 7:30 ` Antwort: " Jan Weitzel
2011-11-30 18:24 ` Brian Norris
2011-12-01 8:23 ` Jan Weitzel [this message]
2011-12-01 9:05 ` Artem Bityutskiy
2011-12-02 17:46 ` [PATCH v2] nandtest: seed random generator with time Brian Norris
2011-12-05 6:30 ` Artem Bityutskiy
2011-12-01 7:56 ` [PATCH] nandtest: use seed argument Artem Bityutskiy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1322727781.4543.31.camel@lws-weitzel \
--to=j.weitzel@phytec.de \
--cc=computersforpeace@gmail.com \
--cc=dedekind1@gmail.com \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox