FS#58320 - [make] backport fix for parallel make jobs getting stuck

Attached to Project: Arch Linux
Opened by userwithuid (userwithuid) - Monday, 23 April 2018, 18:13 GMT
Last edited by freswa (frederik) - Thursday, 10 September 2020, 12:57 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Lukas Fleischer (lfleischer)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Consider cherry-picking this small fix, it means faster build times. (and who knows when upstream gets around to release make 4.3)

Upstream bug: https://savannah.gnu.org/bugs/?51159
Upstream fix (applies without conflicts):
https://git.savannah.gnu.org/cgit/make.git/commit/?id=b552b05251980f693c729e251f93f5225b400714



--verbose (just in case you need convincing):

This bug causes make -j* to sometimes not use all cores. YMMV due to the nature of this bug, but I think the best way to reliably observe such make processes getting "stuck" doing nothing is to compile the linux kernel (with its many, many Makefiles).

Here are some numbers from my 6C/12T desktop (27m vs 18m!):

- Setup: Arch's PKGBUILD for linux 4.16.3 and devtools 20171108
- Command: time extra-x86_64-build

0. run once to setup a fresh chroot from scratch
(0a. use the chroot to compile make with the patch applied)

1. run again with Arch's make 4.2.1-2
real 27m28.490s
user 83m28.408s
sys 9m27.064s

2. drop the patched make binary in the chroot, run again
real 18m9.630s
user 93m32.304s
sys 10m30.057s
This task depends upon

Closed by  freswa (frederik)
Thursday, 10 September 2020, 12:57 GMT
Reason for closing:  Fixed
Additional comments about closing:  make 4.3-1
Comment by Jurica Vukadin (u-ra) - Saturday, 18 January 2020, 18:53 GMT
Bump. This problem will get worse with linux 5.5. See for example https://lore.kernel.org/lkml/c6ed1ca0-3e39-714c-9590-54e13695b9b9%40redhat.com/
Edit: Fixed link. Thanks loqs.
Comment by loqs (loqs) - Saturday, 18 January 2020, 19:59 GMT
flyspray can not handle http addresses containing @ you need to percent encode it https://lore.kernel.org/lkml/c6ed1ca0-3e39-714c-9590-54e13695b9b9%40redhat.com/
Edit:
As a work around what if you drop -pipe from CFLAGS?
Comment by Jurica Vukadin (u-ra) - Sunday, 19 January 2020, 10:33 GMT
"-pipe" is a GCC flag. This bug is in the make jobserver.

Loading...