This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Regarding systemtap support for AArch64


On 10/24/2013 12:19 AM, Sandeepa Prabhu wrote:
> On 24 October 2013 07:20, William Cohen <wcohen@redhat.com> wrote:
>> On 10/02/2013 12:17 AM, Sandeepa Prabhu wrote:
>>> Hi all,
>>>
>>> I have uploaded ARM64 kprobes work on Linaro public git:
>>> git://git.linaro.org/people/sandeepa.prabhu/linux-aarch64.git  Branch:
>>> kprobes_devel_v8.  Patches are published on LAKML too.  This is based
>>> on v8 upstream kernel (3.12-rc1) right now, and works with linaro
>>> boot-wrapper and fast model setup, though, not sure what it takes to
>>> build for fedora.
>>>
>>> Will,
>>>
>>> Is aarch64 fc19 port  public? I am interested in using fc on v8 fast
>>> model, are there instructions about how to get the packages and
>>> build/run them?
>>>
>>> Thanks,
>>> Sandeepa
>>
>> Hi Sandeepa,
>>
>> I finally got a locally built aarch64 kernel with the kprobe patches
>> built and running on the simulator.  The SystemTap tapsets.cxx needed to be
>> patched to understand the aarch64 (the attached patch). With that patch the
>> SystemTap Beginner's guide smoke test example showed signs of life!
>> However, it took minutes for it to compile and run.
>>
>> [wcohen@localhost systemtap]$ sudo ../install/bin/stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}'
>> [sudo] password for wcohen:
>> Pass 1: parsed user script and 92 library script(s) using 140528virt/24952res/2744shr/22868data kb, in 4740usr/160sys/5319real ms.
>> Pass 2: analyzed script: 1 probe(s), 1 function(s), 3 embed(s), 0 global(s) using 326804virt/106856res/3568shr/103752data kb, in 33860usr/14520sys/52942real ms.
>> Pass 3: translated to C into "/tmp/stap6Cbu2d/stap_3a0ef010f6cdfb2bdc3cac691a0f3c0e_1393_src.c" using 326804virt/109236res/5948shr/103752data kb, in 120usr/30sys/163real ms.
>> Pass 4: compiled C into "stap_3a0ef010f6cdfb2bdc3cac691a0f3c0e_1393.ko" in 117620usr/10440sys/141829real ms.
>> Pass 5: starting run.
>> read performed
>> Pass 5: run completed in 100usr/90sys/573real ms.
> Hi Will,
> 
> Great to know this!, Thanks for the patch. Hope you have taken v2
> version of kprobe patches, found here:
> https://git.linaro.org/gitweb?p=people/sandeepa.prabhu/linux-aarch64.git;a=shortlog;h=refs/heads/arm64-kprobes-v2
> v2 is cleaner, and implements recursive kprobes (like probing printk)
> and also few fixes in missed-kprobe handling.
> So, do you think we can measure kprobes performance running on v8 fast
> models (slow model though :))? the milliseconds it shows for
> completion will be accurate only if have real hardware right?
> 
> From this weekend thru next week, we are mostly under travel to Linaro
> connect @Santa Clara, so may not spend more time on this, but we would
> like to start validating the kprobes using systemtap and may get more
> hands within Linaro to work with systemtap community. If anyone is
> attending LCU this time, ping me and we can meet.
> 
> Cheers,
> Sandeepa
> 
>> [wcohen@localhost systemtap]$ uname -a
>> Linux localhost 3.12.0-rc5+ #3 SMP Wed Oct 23 15:03:27 EDT 2013 aarch64 aarch64 aarch64 GNU/Linux
>>
>> -Will


Hi Sandeepa,

I got the v2 versions of the kprobe patches and built and booted the new kernel. It functions and gives the same same results as the earlier version of the kprobe patches.  I was looking around to see why the $return doesn't work and came across the a similar thread for the arm from a couple years ago:

http://comments.gmane.org/gmane.linux.systemtap/17986

elfutils still need to have some additional aarch64 support included so that systemtap can find the location of the return value.

-Will


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]