On 03/11/2024 14.22, Masahiro Yamada wrote:
On Sun, Nov 3, 2024 at 9:04 PM Holger Hoffstätte
<holger@xxxxxxxxxxxxxxxxxxxxxx> wrote:
On 2024-11-02 11:04, Florian Schmaus wrote:
Pass the value of make's -j/--jobs argument to pahole, to avoid out of
memory errors and make pahole respect the "jobs" value of make.
On systems with little memory but many cores, invoking pahole using -j
without argument potentially creates too many pahole instances,
causing an out-of-memory situation. Instead, we should pass make's
"jobs" value as an argument to pahole's -j, which is likely configured
to be (much) lower than the actual core count on such systems.
If make was invoked without -j, either via cmdline or MAKEFLAGS, then
JOBS will be simply empty, resulting in the existing behavior, as
expected.
Signed-off-by: Florian Schmaus <flo@xxxxxxxxxxxx>
As discussed on IRC:
Do not do this. Others do not see what was discussed.
Sorry, you are right. However, not much was discussed. Holger just
pointed out that the memory usage of pahole was already reported as
problematic in
https://lore.kernel.org/lkml/20240820085950.200358-1-jirislaby@xxxxxxxxxx/
My patch would potentially help there as well, as it allows the user to
limit the number of threads used by pahole.
I guess the right thing to do is to join the jobserver.
https://www.gnu.org/software/make/manual/html_node/POSIX-Jobserver.html
Yes, this would be the ideal solution. Until it is implemented, the
proposed patch is probably the next best thing.
- Florian