ChanServ changed the topic of #freedesktop to: https://www.freedesktop.org infrastructure and online services || for questions about freedesktop.org projects, please see each project's contact || for discussions about specifications, please use https://gitlab.freedesktop.org/xdg or xdg@lists.freedesktop.org
JanC is now known as Guest4764
JanC has joined #freedesktop
Guest4764 has quit [Ping timeout: 480 seconds]
scrumplex_ has joined #freedesktop
scrumplex has quit [Ping timeout: 480 seconds]
iconoclasthero has joined #freedesktop
iconoclast_hero has quit [Ping timeout: 480 seconds]
vx has quit [Quit: G-Line: User has been permanently banned from this network.]
vx has joined #freedesktop
balrog has quit [Ping timeout: 480 seconds]
balrog has joined #freedesktop
ximion has quit [Remote host closed the connection]
AbleBacon has quit [Read error: Connection reset by peer]
krushia has quit [Ping timeout: 480 seconds]
bmodem has joined #freedesktop
___nick___ has joined #freedesktop
Haaninjo has joined #freedesktop
ryanneph has joined #freedesktop
plutuniom has quit [Ping timeout: 480 seconds]
ryanneph has quit [Quit: ryanneph has disconnected]
ryanneph has joined #freedesktop
ryanneph has quit []
jturney has quit [Ping timeout: 480 seconds]
___nick___ has quit []
___nick___ has joined #freedesktop
___nick___ has quit []
___nick___ has joined #freedesktop
krushia has joined #freedesktop
krushia has quit []
bmodem has quit [Ping timeout: 480 seconds]
jturney has joined #freedesktop
agd5f_ has joined #freedesktop
ximion has joined #freedesktop
agd5f has quit [Ping timeout: 480 seconds]
ximion has quit [Remote host closed the connection]
<bentiss>
FWIW, there is something wrong on https://gitlab.freedesktop.org/mesa/mesa/-/jobs/64290113 -> this is the only one job running ATM on m3l-31 and it sees only 8 cpus, but the global load of the machine is 120. So either it still manages to see 64 cpus and spawns that many jobs, either there is a hardcoded value somewhere that is wrong
<bentiss>
in case it matters, it was the fedora-release job. It would be nice if somebody could double check that job definition.
<MrCooper>
all Mesa build jobs use a ninja wrapper script which runs '/usr/bin/ninja -j${FDO_CI_CONCURRENT:-4} "$@"'
<MrCooper>
the fedora-release job enables LTO though, maybe LTO linker stages spawn more threads
<MrCooper>
I suspect it's mold, it spawns up to 32 threads by default
<psykose>
the linker itself spawns a lot of linking threads but that is basically instant for linking itself and wouldn't cause that load, lto is the most likely reason
<MrCooper>
eric_engestrom DavidHeidelberg: ^ Mesa should probably set the environment variable MOLD_JOBS=1 and pass --thread-count=${FDO_CI_CONCURRENT:-4} to mold
<psykose>
wish ninja there is no jobserver
<psykose>
with*
<MrCooper>
psykose: LTO means most of the compiling work happens in the linker
<psykose>
i know what lto is
<psykose>
does fedora-release use gcc or clang thinlto
<MrCooper>
the former
<psykose>
what does it pass for -flto? =auto?
<psykose>
if that then it would just default to cpu count with no jobserver
<MrCooper>
anyway, if there are multiple mold invocations each spawning up to 32 threads doing LTO work, that could certainly explain the load
<MrCooper>
psykose: just enables meson b_lto
<psykose>
that does use =auto
<psykose>
you would want b_lto_threads to change it
<psykose>
but backend_max_links=2 is probably a better solution in my experience
<MrCooper>
b_lto_threads defaults to 0, with description "Use multiple threads for Link Time Optimization"
<psykose>
yes, =0 maps to auto
<MrCooper>
anyway, seems like you know how to solve it, I'll get back to other things then :)
<psykose>
i know of a lot of workarounds that might work sure, but they're all workarounds, the fundamental issue is a bit unsolvable :P
<psykose>
derusted my memory a bit: yeah, with -flto=auto the linker invokes gcc lto-wrapper and that lto-wrapper emits a makefile with -jdetected-cpu-cores, mold --threads=1 doesn't affect that as expected
GNUmoon has quit [Ping timeout: 480 seconds]
<psykose>
just makes mold's actual linking use 1 thread
<psykose>
you could do backend_max_links=1 (this prevents ever going above 8 load), you could do backend_max_links=2 and set b_lto_jobs=jobs/2 (not sure if this is better), you could cap to 2 jobs and accept the load goes over the configured -j
<psykose>
i usually pick the last option but ymmv
<psykose>
actual granular per-job usage up to a -j is not possible here unless ninja grew a make jobserver to complement the emitted make invocation gcc lto-wrapper does where it can act as a jobserver client with =auto
<psykose>
(and for clang thinlto even that is not supported, you just always use a configured threadcount)
<psykose>
(cap to 2 jobs = backend_max_links=2, since i realise now that is ambiguous)
GNUmoon has joined #freedesktop
<psykose>
i think for gcc lto and mold i would pick 1 link tbh because it's not as prone as thinlto with lld to sit on 1 thread near the end for 10 seconds, so here https://img.ayaya.dev/6P4zPJFrGVXG
___nick___ has quit [Ping timeout: 480 seconds]
Kayden has quit [Quit: Leaving]
Kayden has joined #freedesktop
agd5f has joined #freedesktop
agd5f_ has quit [Ping timeout: 480 seconds]
Kayden has quit [Quit: Leaving]
Kayden has joined #freedesktop
AbleBacon has joined #freedesktop
todi_away has quit [Remote host closed the connection]
plutunium has joined #freedesktop
swatish2 has joined #freedesktop
vx has quit [Quit: G-Line: User has been permanently banned from this network.]
vx has joined #freedesktop
swatish21 has joined #freedesktop
swatish2 has quit [Ping timeout: 480 seconds]
plutunium has quit [Remote host closed the connection]
vx has quit [Quit: G-Line: User has been permanently banned from this network.]
vx has joined #freedesktop
vsyrjala_ has joined #freedesktop
plutunium has joined #freedesktop
alanc has quit [Remote host closed the connection]