[PATCH] tools/perf: Fix powerpc gap between kernel end and module start
Arnaldo Carvalho de Melo
acme at kernel.org
Thu Feb 4 02:31:48 AEDT 2021
Em Tue, Feb 02, 2021 at 04:02:36PM +0530, Athira Rajeev escreveu:
>
>
> On 18-Jan-2021, at 3:51 PM, kajoljain <kjain at linux.ibm.com> wrote:
>
>
>
> On 1/12/21 3:08 PM, Jiri Olsa wrote:
>
> On Mon, Dec 28, 2020 at 09:14:14PM -0500, Athira Rajeev wrote:
>
> SNIP
>
>
> c000000002799370 b backtrace_flag
> c000000002799378 B radix_tree_node_cachep
> c000000002799380 B __bss_stop
> c0000000027a0000 B _end
> c008000003890000 t icmp_checkentry [ip_tables]
> c008000003890038 t ipt_alloc_initial_table [ip_tables]
> c008000003890468 T ipt_do_table [ip_tables]
> c008000003890de8 T ipt_unregister_table_pre_exit [ip_tables]
> ...
>
> Perf calls function symbols__fixup_end() which sets the end of
> symbol
> to 0xc008000003890000, which is the next address and this is the
> start
> address of first module (icmp_checkentry in above) which will make
> the
> huge symbol size of 0x80000010f0000.
>
> After symbols__fixup_end:
> symbols__fixup_end: sym->name: _end, sym->start:
> 0xc0000000027a0000,
> sym->end: 0xc008000003890000
>
> On powerpc, kernel text segment is located at 0xc000000000000000
> whereas the modules are located at very high memory addresses,
> 0xc00800000xxxxxxx. Since the gap between end of kernel text
> segment
> and beginning of first module's address is high, histogram
> allocation
> using calloc fails.
>
> Fix this by detecting the kernel's last symbol and limiting
> the range of last kernel symbol to pagesize.
>
>
> Patch looks good to me.
>
> Tested-By: Kajol Jain<kjain at linux.ibm.com>
>
> Thanks,
> Kajol Jain
>
>
> Signed-off-by: Athira Rajeev<atrajeev at linux.vnet.ibm.com>
>
>
> I can't test, but since the same approach works for arm and s390,
> this also looks ok
>
> Acked-by: Jiri Olsa <jolsa at redhat.com>
>
> thanks,
> jirka
>
>
> Hi Arnaldo,
>
> Can you please help review this patch and merge if this looks good..
Thanks, collected the Tested-by from Kajol and the Acked-by from Jiri
and applied to my local tree for testing, then up to my perf/core
branch.
- Arnaldo
More information about the Linuxppc-dev
mailing list