arm64 kprobes/systemtap support progress

William Cohen wcohen@redhat.com
Sun Nov 2 21:02:00 GMT 2014


Hi All,

Dave Long has been working on getting arm64 kprobes support merged into the upstream kernels.  The kprobes64 branch of the git tree at 
https://git.linaro.org/people/dave.long/linux.git

I have been using systemtap to exercise the arm64 kprobes support and flush out any problems with them.  The attached kernel patch fixes a couple problems observed in the arm64 kprobes:

- irq needs to be masked during single step
- the address to continue execution should be statically computed and not change

With the attached patch and recent correction to the systemtap runtime time.c for arm64. periodic.stp run on arm64:

# ~/systemtap_write/install/bin/stap --all-modules  periodic.stp 
#monitoring timer periods (press control-c for output)
^C#type   function                                            period(us)     count
kernel  0xfffffdfffcaf2c50 [stap_41b9ddd4f103a617201d73e05       10008      1230
kernel  0xfffffdfffcaf3280 [stap_41b9ddd4f103a617201d73e05       20032       614
process xfsaild/dm-0(404)                                        50000       246
process rcu_sched(7)                                            159873        77
work_q  phy_state_machine                                      1000011        11
work_q  vmstat_update                                          1000009        11
work_q  vmstat_update                                          1000919        11
work_q  vmstat_update                                          1000010        11
work_q  vmstat_update                                          1000018        11
work_q  vmstat_update                                          1352511         8
work_q  vmstat_update                                          1512865         7
kernel  br_hello_timer_expired+0x0/0x90 [bridge]               1999999         5
kernel  dev_watchdog+0x0/0x280 [kernel]                        4999999         2
kernel  0xfffffdfffcaf1b40 [stap_41b9ddd4f103a617201d73e05    10021293         1
kernel  0xfffffdfffcaf1b40 [stap_41b9ddd4f103a617201d73e05    10021056         1
work_q  bdi_writeback_workfn                                   5010523         1
kernel  0xfffffdfffcaf1b40 [stap_41b9ddd4f103a617201d73e05    10021037         1
work_q  xfs_reclaim_worker                                     5010503         1
kernel  0xfffffdfffcaf1b40 [stap_41b9ddd4f103a617201d73e05    10011035         1
work_q  vmstat_update                                          5941334         1
kernel  0xfffffdfffcaf1b40 [stap_41b9ddd4f103a617201d73e05    10022237         1
work_q  vmstat_update                                          5992305         1
kernel  0xfffffdfffcaf1b40 [stap_41b9ddd4f103a617201d73e05    10023836         1
kernel  writeout_period+0x0/0x9c [kernel]                      5992292         1
kernel  0xfffffdfffcaf1b40 [stap_41b9ddd4f103a617201d73e05    10021077         1
kernel  0xfffffdfffcaf1b40 [stap_41b9ddd4f103a617201d73e05    10021999         1

-Will
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kprobes-aarch64-irq2.patch
Type: text/x-patch
Size: 3262 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/systemtap/attachments/20141102/7ea17163/attachment.bin>


More information about the Systemtap mailing list