perf probes on arm64 don't work with 4.10 kernel b/c of register name issue

Bug #1671917 reported by Ali on 2017-03-10
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Joseph Salisbury
Zesty
Medium
Joseph Salisbury

Bug Description

perf probe doesn't work because the register names in the perf tool are incorrect. This was fixed upstream by https://patchwork.kernel.org/patch/9534823/.

perf probe -x /lib/aarch64-linux-gnu/libc.so.6 -a 'malloc bytes'
Failed to write event: Invalid argument
  Error: Failed to add events.

Rebuilding perf with the above mentioned change results in:
ubuntu:/usr/src/linux-source-4.10.0/tools/perf# ./perf probe -x /lib/aarch64-linux-gnu/libc.so.6 -a 'malloc bytes'
Added new event:
  probe_libc:malloc (on malloc in /lib/aarch64-linux-gnu/libc-2.24.so with bytes)

Changed in linux (Ubuntu Zesty):
status: New → Triaged
importance: Undecided → Medium
tags: added: kernel-da-key zesty
Joseph Salisbury (jsalisbury) wrote :

I built a test kernel with a cherry pick of commit 1b29dfbba124be5077a24996a272205baec1c008. The test kernel can be downloaded from:

http://kernel.ubuntu.com/~jsalisbury/lp1671917/

Can you test this kernel and see if it resolves this bug?

Changed in linux (Ubuntu Zesty):
assignee: nobody → Joseph Salisbury (jsalisbury)
status: Triaged → In Progress
Ali (asaidi) wrote :

I don't see the linux-tools-4.10-11-13~lp1671917 in that directory.

Joseph Salisbury (jsalisbury) wrote :

Sorry about that. The tools .deb should be there now.

Ali (asaidi) wrote :

It looks like the amd64 version of the deb is there, but not the arm64 version.

Seth Forshee (sforshee) wrote :

This is a simple patch for perf and a clean cherry pick from upstream. I'm going ahead and applying it.

Changed in linux (Ubuntu Zesty):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (17.1 KiB)

This bug was fixed in the package linux - 4.10.0-14.16

---------------
linux (4.10.0-14.16) zesty; urgency=low

  [ Tim Gardner ]

  * Release Tracking Bug
    - LP: #1673805

  * msleep() bug causes Nuvoton I2C TPM device driver delays (LP: #1667567)
    - tpm: msleep() delays - replace with usleep_range() in i2c nuvoton driver
    - SAUCE: tpm: add sleep only for retry in i2c_nuvoton_write_status()

  * C++ demangling support missing from perf (LP: #1396654)
    - [Config] added binutils-dev to Build-deps

  * dm-queue-length module is not included in installer/initramfs (LP: #1673350)
    - [Config] d-i: Also add dm-queue-length to multipath modules

  * move aufs.ko from -extra to linux-image package (LP: #1673498)
    - [config] aufs.ko moved to linux-image package

  * Using an NVMe drive causes huge power drain (LP: #1664602)
    - nvme: Add a quirk mechanism that uses identify_ctrl
    - nvme: Enable autonomous power state transitions

  * Broadcom bluetooth modules sometimes fail to initialize (LP: #1483101)
    - Bluetooth: btbcm: Add a delay for module reset

  * Need support of Broadcom bluetooth device [413c:8143] (LP: #1166113)
    - Bluetooth: btusb: Add support for 413c:8143

  * Zesty update to v4.10.3 stable release (LP: #1673118)
    - serial: 8250_pci: Add MKS Tenta SCOM-0800 and SCOM-0801 cards
    - KVM: s390: Disable dirty log retrieval for UCONTROL guests
    - KVM: VMX: use correct vmcs_read/write for guest segment selector/base
    - Bluetooth: Add another AR3012 04ca:3018 device
    - phy: qcom-ufs: Don't kfree devres resource
    - phy: qcom-ufs: Fix misplaced jump label
    - s390/qdio: clear DSCI prior to scanning multiple input queues
    - s390/dcssblk: fix device size calculation in dcssblk_direct_access()
    - s390/kdump: Use "LINUX" ELF note name instead of "CORE"
    - s390/chsc: Add exception handler for CHSC instruction
    - s390: TASK_SIZE for kernel threads
    - s390/topology: correct allocation of topology information
    - s390: make setup_randomness work
    - s390: use correct input data address for setup_randomness
    - net: mvpp2: fix DMA address calculation in mvpp2_txq_inc_put()
    - cxl: Prevent read/write to AFU config space while AFU not configured
    - cxl: fix nested locking hang during EEH hotplug
    - brcmfmac: fix incorrect event channel deduction
    - mnt: Tuck mounts under others instead of creating shadow/side mounts.
    - IB/ipoib: Fix deadlock between rmmod and set_mode
    - IB/IPoIB: Add destination address when re-queue packet
    - IB/mlx5: Fix out-of-bound access
    - IB/SRP: Avoid using IB_MR_TYPE_SG_GAPS
    - IB/srp: Avoid that duplicate responses trigger a kernel bug
    - IB/srp: Fix race conditions related to task management
    - Btrfs: fix data loss after truncate when using the no-holes feature
    - orangefs: Use RCU for destroy_inode
    - memory/atmel-ebi: Fix ns <-> cycles conversions
    - tracing: Fix return value check in trace_benchmark_reg()
    - ktest: Fix child exit code processing
    - ceph: remove req from unsafe list when unregistering it
    - target: Fix NULL dereference during LUN lookup + active I/O shutdown
    - drivers/pci/hotplug: Han...

Changed in linux (Ubuntu Zesty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers