Re: Clarification on support of arm32 with kernel4.1 for oprofile 1.2.0
William Cohen <[email protected]>
| Newsgroups | gmane.linux.oprofile |
|---|---|
| Message-ID | <[email protected]> |
On 02/15/2018 11:07 AM, Michael Petlan wrote: > On Thu, 15 Feb 2018, Vinoth Natarajan wrote: >> Hello Michael, >> Thanks so much for the help. >> >> Cross compiled the hello.c with crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22 >> and tested the executable on the target(arm32) >> >> Received the following error >> " ./hello >> Error opening leader 1" >> > > This points to the kernel perf subsystem. It cannot even open a simple event. > Not an OProfile's fault. > >> >> Following are the kernel configs related to PERF in target >> >> cat /tmp/test |grep PERF >> >> CONFIG_HAVE_PERF_EVENTS=y >> CONFIG_PERF_USE_VMALLOC=y >> CONFIG_PERF_EVENTS=y >> # CONFIG_DEBUG_PERF_USE_VMALLOC is not set >> CONFIG_HAVE_PERF_REGS=y >> CONFIG_HAVE_PERF_USER_STACK_DUMP=y >> # CONFIG_PCIEASPM_PERFORMANCE is not set >> # CONFIG_HW_PERF_EVENTS is not set > > I believe you need CONFIG_HW_PERF_EVENTS=y on ARM. > >> # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set >> # CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set >> # CONFIG_CLS_U32_PERF is not set >> >> Could you please share your feedback on this. > > You may also try to grep for perf in logs: > > # dmesg | grep -i -e perf -e pmu > [ 1.375699] hw perfevents: enabled with armv8_pmuv3_0 PMU driver, 5 counters available > [ 1.403155] kvm [1]: GICV region size/alignment is unsafe, using trapping (reduced performance) > [ 2.036285] xgene-pmu APMC0D5C:00: X-Gene PMU version 2 > > ^^^ This is a log from the moment when my kernel identified and initialized > the PMU. You should see something like that too. Or better, after recompiling > your kernel with CONFIG_HW_PERF_EVENTS=y and booting, you should see something > like this (PMU-related logs). If there is some error in PMU init, you will see > it in the logs. > > I am afraid that without CONFIG_HW_PERF_EVENTS=y you cannot use the events. > > However, I don't guarantee that with CONFIG_HW_PERF_EVENTS=y it works. There > can be some firmware issues, ACPI issues, etc. I roughly remember some issue > when you'd need to boot with acpi=off to access the events, etc. > > Cheers, > Michael Hi, Another way that perf may fail to work is due to the device tree for the platform not describing the performance monitoring hardware: https://bugzilla.redhat.com/show_bug.cgi?id=741325 There also may be some ARM processors that don't have performance monitoring hardware or that kernel perf support doesn't recognize. What 32-bit ARM platform is the target? -Will ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ oprofile-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oprofile-list