systemtap testing on Linaro Builds

Registered by Naresh Kamboju

The uprobes tracing mechanism is an extension to kprobes that allows for probing user space applications, thus allowing for instrumentation of the full software stack using a single mechanism.Uprobes is also used as the interface for user space tracing by the SystemTap tool.
Ensure QA team is able to adopt this SystemTap testing environment

The kernel currently has support for x86, ppc, and s390 architecture but not for ARM. The KWG proposes to implement ARM support. This work entails adding the correct architecture hooks, validating functionality, and getting the patches merged into the upstream kernel.

Blueprint information

Status:
Complete
Approver:
Milosz Wasilewski
Priority:
Low
Drafter:
Naresh Kamboju
Direction:
Needs approval
Assignee:
Naresh Kamboju
Definition:
New
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 2013.06
Started by
Naresh Kamboju
Completed by
Naresh Kamboju

Related branches

Sprints

Whiteboard

[nkambo Jan 10, 2013] notes here
[jakub-pavelek 20013-03-28] Proposing to have this done and deployed in 2013.05 so that implementation in KWG can be tested before pushing patched upstream. Not sure how it maps on QA series and milestones.
[jakub-pavelek 2013-05-13] We would like to see this blueprint scheduled soon. If not 13.05 then 13.06 latest please.
[jakub-pavelek 2013-05-31] Not sure about making it low priority. The work in KWG is ongoing already for a while but QA did not get this started yet. However if it cannot be done in Juno we will want to detach the KWG work from this blueprint and get around acceptance criteria.
[mwasilew 2013-05-31] This is 'low' priority on QA side as there are other more important tasks at the moment. This blueprint is still targetted for 13.06, but we might not meet this deadline. It is perfectly fine for me to move the QA tasks into separate blueprint.
[jakub-pavelek 2013-06-04] Lets scope it down for 13.06 to QA team to investigate what test assets we already have in systemtap and what it would take to deploy such tests into LAVA/CI for KWG to use (e.g. for linux-linaro). Later when we have the analysis we can plan the real work, and perhaps adjust the acceptance criteria too.
[nkambo 2013-06-25] Systemtap install on vexpress TC2 and run the a simple test. Here is the log which gives complete information about
- Download systemtap source
- Download elfutils source
- Download dependencies build-essential aptitude m4 dejagnu
- Configure systemtap
- Build and Install systemtap
- Run " make installcheck" ( Failed )
- # stap -ve 'probe begin { log("hello world") exit() }'
Complete systemtap log can be found at: https://pastebin.linaro.org/view/7ff4c532

[nkambo 2013-06-25] OTOH, Systemtap execution on Host machine X86_64-bit
The systemtap test results summary looks like this
  === systemtap Summary ===

# of expected passes 458
# of unexpected failures 323
# of unexpected successes 1
# of expected failures 277
# of known failures 16
# of untested testcases 624
runtest completed at Wed Jun 26 00:58:23 2013

Meta:
Roadmap id: card-153
Headline: Add uprobes support for ARM
Acceptance:
 * Kprobes and Uprobes can be used in unison to trace system behaviour across the software stack
 * SystemTap testsuite is integrated into Lava and user space tests all pass completely
 * linux-linaro Ubuntu Engineering build and spec have been updated to support systemtap and to include the systemtap test suite as part of CI job.

(?)

Work Items

Work items:
KWG should implement ARM support for uprobe, kprobe and SystemTap: DONE
Get uprobe, kprobe patched kernel and run on ARM targtets: DONE
compile Systemtap run script "stap" or "staprun" : DONE
Run stap on target with systemtap tests scripts: DONE
Run SystemTap make installcheck on target: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.