linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Christophe LEROY <christophe.leroy@c-s.fr>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] perf tools: allow overriding MAX_NR_CPUS at compile time
Date: Wed, 1 Aug 2018 11:37:30 +0200	[thread overview]
Message-ID: <dc8f1911-fa9a-c1c8-0dd5-fd33236da69a@c-s.fr> (raw)
In-Reply-To: <20180503134037.GB8442@kernel.org>



Le 03/05/2018 à 15:40, Arnaldo Carvalho de Melo a écrit :
> Em Fri, Sep 22, 2017 at 01:20:43PM +0200, Christophe Leroy escreveu:
>> After update of kernel, perf tool doesn't run anymore on my
>> 32MB RAM powerpc board, but still runs on a 128MB RAM board:
> 
> Cleaning up my inbox, found this one, simple enough, still applies,
> applied.

Did you finally apply it ? I can't see it in linux-next. Will it be 
merged into 4.19 ?

Thanks
Christophe

> 
> These all needs to be dynamicly allocated, but still, with this one can
> get a functioning tool, apply it.
> 
> - Arnaldo
>   
>> ~# strace perf
>> execve("/usr/sbin/perf", ["perf"], [/* 12 vars */]) = -1 ENOMEM (Cannot allocate memory)
>> --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} ---
>> +++ killed by SIGSEGV +++
>> Segmentation fault
>>
>> objdump -x shows that .bss section has a huge size of 24Mbytes:
>>
>>   27 .bss          016baca8  101cebb8  101cebb8  001cd988  2**3
>>
>> With especially the following objects having quite big size
>>
>> 10205f80 l     O .bss	00140000              runtime_cycles_stats
>> 10345f80 l     O .bss	00140000              runtime_stalled_cycles_front_stats
>> 10485f80 l     O .bss	00140000              runtime_stalled_cycles_back_stats
>> 105c5f80 l     O .bss	00140000              runtime_branches_stats
>> 10705f80 l     O .bss	00140000              runtime_cacherefs_stats
>> 10845f80 l     O .bss	00140000              runtime_l1_dcache_stats
>> 10985f80 l     O .bss	00140000              runtime_l1_icache_stats
>> 10ac5f80 l     O .bss	00140000              runtime_ll_cache_stats
>> 10c05f80 l     O .bss	00140000              runtime_itlb_cache_stats
>> 10d45f80 l     O .bss	00140000              runtime_dtlb_cache_stats
>> 10e85f80 l     O .bss	00140000              runtime_cycles_in_tx_stats
>> 10fc5f80 l     O .bss	00140000              runtime_transaction_stats
>> 11105f80 l     O .bss	00140000              runtime_elision_stats
>> 11245f80 l     O .bss	00140000              runtime_topdown_total_slots
>> 11385f80 l     O .bss	00140000              runtime_topdown_slots_retired
>> 114c5f80 l     O .bss	00140000              runtime_topdown_slots_issued
>> 11605f80 l     O .bss	00140000              runtime_topdown_fetch_bubbles
>> 11745f80 l     O .bss	00140000              runtime_topdown_recovery_bubbles
>>
>> This is due to commit 4d255766d28b1 ("perf: Bump max number of cpus
>> to 1024"), because many tables are sized with MAX_NR_CPUS
>>
>> This patch gives the opportunity to redefine MAX_NR_CPUS via
>>
>> make EXTRA_CFLAGS=-DMAX_NR_CPUS=1
>>
>> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
>> ---
>>   tools/perf/perf.h | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/tools/perf/perf.h b/tools/perf/perf.h
>> index dc442ba21bf6..a9db563da0a9 100644
>> --- a/tools/perf/perf.h
>> +++ b/tools/perf/perf.h
>> @@ -23,7 +23,9 @@ static inline unsigned long long rdclock(void)
>>   	return ts.tv_sec * 1000000000ULL + ts.tv_nsec;
>>   }
>>   
>> +#ifndef MAX_NR_CPUS
>>   #define MAX_NR_CPUS			1024
>> +#endif
>>   
>>   extern const char *input_name;
>>   extern bool perf_host, perf_guest;
>> -- 
>> 2.13.3

  reply	other threads:[~2018-08-01  9:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-22 11:20 [PATCH] perf tools: allow overriding MAX_NR_CPUS at compile time Christophe Leroy
2017-09-22 14:09 ` Arnaldo Carvalho de Melo
2018-05-03 13:40 ` Arnaldo Carvalho de Melo
2018-08-01  9:37   ` Christophe LEROY [this message]
2018-08-01 14:40     ` Arnaldo Carvalho de Melo

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=dc8f1911-fa9a-c1c8-0dd5-fd33236da69a@c-s.fr \
    --to=christophe.leroy@c-s.fr \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.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;
as well as URLs for NNTP newsgroup(s).