[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Strange parallel behavior noted on Linux kernel sources wrt CPU thre
From: |
Paul Smith |
Subject: |
Re: Strange parallel behavior noted on Linux kernel sources wrt CPU threading |
Date: |
Sat, 07 Jul 2018 08:51:28 -0400 |
On Sat, 2018-07-07 at 10:01 +0000, Jason Mancini wrote:
> So this has been observed as gnu make not reaping defunct make/sh
> processes on openSUSE Tumbleweed. Presumably all the tokens in the
> shared jobserver read/write fds pipe become tied up by said defunct
> process, and then make behaves as -j1 at that point. It doesn't
> happen every time, so it's very time consuming to debug. Eventually
> the defunct processes are reaped and the build completes mostly in a
> linear fashion. Am investigating if Ubuntu or Fedora demonstrate the
> same behavior.
>
> Is there some new glibc or kernel code or compile options that could
> trigger this sort of (mis-)behavior? Note that Tumbleweed is on
> gcc8.
My best guess is that this is related to an issue with pselect().
If you want to try building GNU make without pselect() support, you can
use this configure command:
$ make clean
$ ac_cv_func_pselect=no ./configure
$ make
There has been a fix made to GNU make since 4.2.1 was released which
could be related to the problem you're seeing.
Unfortunately building GNU make from Git these days requires a bit more
infrastructure than it used to: you'd need to have a number of other
packages installed. The steps are well-described (I hope!) in the
README.git file in the GNU make Git repository:
https://savannah.gnu.org/git/?group=make
Alternatively you can try applying just that change and see if it
helps; you can find it here:
http://git.savannah.gnu.org/cgit/make.git/commit/?id=b552b05251980f693c729e251f93f5225b400714
It may require some tweaking to apply correctly.