Re: [PATCH] shuffle: disable by default

2022-10-16 Thread Paul Smith
On Sun, 2022-10-16 at 15:09 +0200, Yann E. MORIN wrote:
> Sorry for causing confusion; I'll get my second coffee before I post
> patches next time.

No problem, thanks for checking!



Re: [PATCH] shuffle: disable by default

2022-10-16 Thread Yann E. MORIN
Paul, All,

On 2022-10-16 08:39 -0400, Paul Smith spake thusly:
> On Sun, 2022-10-16 at 12:17 +0200, Yann E. MORIN wrote:
> > Commit 621d3196fae9 ([SV 62100] Add '--shuffle' option support)
> > introduced randomisation of prerequisites, so as to detect more
> > build ordering issues, especially with parallel builds. It also
> > made randomisation the default.
> 
> I'm not sure I understand the goal of this patch.
> 
> If you don't want randomization, just don't add the --shuffle option
> and you won't get any randomization.
> 
> The behavior of make without the --shuffle option hasn't changed from
> what it was before: it will never be the case that shuffle is the
> default "always on" behavior

I looked back at my tests, and indeed I messed up between the tests
outputs, confusing one with --shuffle as a test without it...

I redid the tests in a clean session, paying extra attention, and the
ordering is un-modified without --shuffle, which is as I expected.

> because POSIX mandates the order in which
> prerequisites are considered.

Thanks, I hadn't have a look before, but this is indeed explicitly
stated:

https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/make.html#tag_20_76_13

The make utility shall treat all prerequisites [...],processing them
in the order in which they appear in the rule.

Good to know, I was always wondering if that was an implicit behaviour,
or if that was mandated. Thanks for having me look at it. :-)

> So I don't see why we would say that both "make" and "make --shuffle"
> do the same thing (no shuffle).  If you've added --shuffle then I'd
> expect you'd want to see shuffling...?
> 
> Am I wrong and there is some way to get shuffle mode enabled even
> without the --shuffle option?  That would definitely be a bug!

No, there is no bug; I messed up.

Sorry for causing confusion; I'll get my second coffee before I post
patches next time.

Regards,
Yann E. MORIN.

-- 
.-..--..
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN |  ___   |
| +33 561 099 427 `.---:  X  AGAINST  |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL|   v   conspiracy.  |
'--^---^--^'



Re: [PATCH] shuffle: disable by default

2022-10-16 Thread Paul Smith
On Sun, 2022-10-16 at 12:17 +0200, Yann E. MORIN wrote:
> Commit 621d3196fae9 ([SV 62100] Add '--shuffle' option support)
> introduced randomisation of prerequisites, so as to detect more
> build ordering issues, especially with parallel builds. It also
> made randomisation the default.

I'm not sure I understand the goal of this patch.

If you don't want randomization, just don't add the --shuffle option
and you won't get any randomization.

The behavior of make without the --shuffle option hasn't changed from
what it was before: it will never be the case that shuffle is the
default "always on" behavior because POSIX mandates the order in which
prerequisites are considered.

So I don't see why we would say that both "make" and "make --shuffle"
do the same thing (no shuffle).  If you've added --shuffle then I'd
expect you'd want to see shuffling...?

Am I wrong and there is some way to get shuffle mode enabled even
without the --shuffle option?  That would definitely be a bug!