From: Philip Li <philip.li@intel.com>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: kernel test robot <lkp@intel.com>,
Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] [kbuild test robot] random-order parallel building
Date: Fri, 12 May 2023 15:09:26 +0800 [thread overview]
Message-ID: <ZF3mJlMuH2HbNxWp@rli9-mobl> (raw)
In-Reply-To: <CAK7LNATrFbr7kT9HEFgYO6ZstaSx1FB+Q4SQrAX+D8VwG5K0dQ@mail.gmail.com>
On Fri, May 12, 2023 at 12:25:13PM +0900, Masahiro Yamada wrote:
> Hello, maintainers of the kbuild test robot.
>
> I have a proposal for the 0day tests.
Thanks a lot for the proposal for the shuffle make, we will do some
investigation to try this random order parallel build. The gnu make
we currently use is 4.3, we will try the 4.4 to see any problem.
For the timeline, we may provide update later this month.
>
>
> GNU Make traditionally processes the dependency from left to right.
>
> For example, if you have dependency like this:
>
> all: foo bar baz
>
> GNU Make builds foo, bar, baz, in this order.
>
>
> Some projects that are not capable of parallel builds
> rely on that behavior implicitly.
>
> Kbuild, however, is intended to work well in parallel.
> (As the maintainer, I really care about it.)
>
>
> From time to time, people add "just worked for me" code,
> but apparently that lacks proper dependency.
> Sometimes it requires an expensive CPU to reproduce
> parallel build issues.
>
>
> For example, see this report,
> https://lkml.org/lkml/2016/11/30/587
>
> The report says 'make -j112' reproduces the broken parallel build.
> Most people do not have such a build machine that comes with 112 cores.
> It is difficult to reproduce it (or even notice it).
>
> (Some time later, it was root-caused by 07a422bb213a)
>
>
>
> GNU Make 4.4 got this option.
>
> --shuffle[={SEED|random|reverse|none}]
> Perform shuffle of prerequisites and goals.
>
>
>
> 'make --shuffle=reverse' will build in reverse order.
> In the example above, baz, bar, foo.
>
> 'make --shuffle' will randomize the build order.
>
>
> If there exists a missing dependency among foo, bar, baz,
> it will fail to build.
>
>
>
> We already perform the randconfig daily basis.
> So, random-order parallel building is a similar idea.
>
> Perhaps, it makes sense to add the "--shuffle=SEED" option
> but it requires GNU Make 4.4. (or GNU Make 4.4.1)
> Is this too new?
Our production environment is 4.3 right now. It will take extra
time for us to upgrade the environment but it's doable for us.
>
>
>
> --
> Best Regards
> Masahiro Yamada
next prev parent reply other threads:[~2023-05-12 7:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-12 3:25 [RFC] [kbuild test robot] random-order parallel building Masahiro Yamada
2023-05-12 7:09 ` Philip Li [this message]
2023-06-09 8:41 ` Liu, Yujie
2023-06-09 15:14 ` Randy Dunlap
2023-06-09 15:59 ` Masahiro Yamada
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=ZF3mJlMuH2HbNxWp@rli9-mobl \
--to=philip.li@intel.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=masahiroy@kernel.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