# git rev-parse -q --verify ce9f98c0229de93b6b90bcf3deb536f922ad893a^{commit} ce9f98c0229de93b6b90bcf3deb536f922ad893a already have revision, skipping fetch # git checkout -q -f -B kisskb ce9f98c0229de93b6b90bcf3deb536f922ad893a # git clean -qxdf # < git log -1 # commit ce9f98c0229de93b6b90bcf3deb536f922ad893a # Author: Athira Rajeev # Date: Wed Aug 26 02:40:29 2020 -0400 # # powerpc/perf: Fix reading of MSR[HV/PR] bits in trace-imc # # IMC trace-mode uses MSR[HV/PR] bits to set the cpumode for the # instruction pointer captured in each sample. The bits are fetched from # the third double word of the trace record. Reading third double word # from IMC trace record should use be64_to_cpu() along with READ_ONCE # inorder to fetch correct MSR[HV/PR] bits. Patch addresses this change. # # Currently we are using PERF_RECORD_MISC_HYPERVISOR as cpumode if MSR # HV is 1 and PR is 0 which means the address is from host counter. But # using PERF_RECORD_MISC_HYPERVISOR for host counter data will fail to # resolve the address -> symbol during "perf report" because perf tools # side uses PERF_RECORD_MISC_KERNEL to represent the host counter data. # Therefore, fix the trace imc sample data to use # PERF_RECORD_MISC_KERNEL as cpumode for host kernel information. # # Fixes: 77ca3951cc37 ("powerpc/perf: Add kernel support for new MSR[HV PR] bits in trace-imc") # Signed-off-by: Athira Rajeev # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/1598424029-1662-1-git-send-email-atrajeev@linux.vnet.ibm.com # < /opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 ce9f98c0229de93b6b90bcf3deb536f922ad893a # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_ppc64_defconfig+NO_TM_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc64_defconfig # Added to kconfig CONFIG_PPC_TRANSACTIONAL_MEM=n # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_ppc64_defconfig+NO_TM_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_ppc64_defconfig+NO_TM_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_ppc64_defconfig+NO_TM_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- Completed OK # rm -rf /kisskb/build/powerpc-fixes_ppc64_defconfig+NO_TM_powerpc-gcc9 # Build took: 0:04:28.958050