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]

[SYSTEMTAP/PATCH v3 0/9] RT aware systemtap patch set


Hi,

This is a v3 version of -rt aware systemtap patchset, Majorly includes bug fixes
reported by systemtap autotest "make installcheck". Tested for 3.14.12-rt9
kernel for -rt and non-rt mode. Test went fine. For v1 & v2 related details
refer thread [1], [2].  Patchset based on stap upstream link [3] master branch,
commit id 687a0c357137cf05c6350bffc94f7161a93a7


Change summary;

v2->v3 :

- Deadlock fixes noticed by "make installcheck".
- Tested for non-rt 3.14.12 vanilla kernel using el7 default config.
- Tested for -rt kernel using same el7 default desktop config.

v1->v2 :

- added Locking helper api. tested for -rt and voluntary mode, works fine.
- reverted v1 change of rd/wr lock with rcu to raw_spinlock in this patch, that
  is beacuse for rcu to effectively get in use in stap modules like utrace.c
and task_finder.c, require to make desing change in general. However it would
improve the performance,
- Removed v1's adder_map patch set, as it wasn't troubling -rt mode.

Test script used for testing :
- /usr/local/stap/bin/stap -v testsuite/systemtap.examples/network/netdev.stp
- /usr/local/stap/bin/stap -v testsuite/systemtap.examples/network/tcpdumplike.stp

- Few other test example script used :
cat ../test-indent.stp
probe kernel.function("*@net/socket.c").call
{
                  printf ("%s -> %s\n", thread_indent(1), probefunc())
}
probe kernel.function("*@net/socket.c").return
{
                  printf ("%s <- %s\n", thread_indent(-1), probefunc())
}

- AND tested for "make installcheck" 


[1] http://sourceware-org.1504.n7.nabble.com/SYSTEMTAP-PATCH-0-4-RT-aware-systemtap-patch-set-td282463.html
[2] http://sourceware-org.1504.n7.nabble.com/SYSTEMTAP-PATCH-v2-0-6-RT-aware-systemtap-patch-set-td283446.html
[3] git://sourceware.org/git/systemtap.git; branch master

Let me know your fedback. Hopefully v3 could be final version to get merged to
uptsream as initial -rt version patchset. And from there onwards I would look
at optimising locking in general[todo].. Thanks.

Santosh Shukla (9):
  stp: rt: locking helper api
  stp: rt: replace __stp_tf_map_lock rd/wr lock with stp style raw lock
  stp: rt: replace __stp_tf_vma_lock rd/wr lock with stp style of raw
    lock
  stp: rt: replace utrace->lock with stp style raw lock
  stp: rt: replace utrace_struct lock to stp style raw lock
  stp: rt: replace __stp_tf_task_work_list_lock to stp raw
  stp: rt: replace addr_map_lock rd/wr lock with stp type raw lock
  stp: rt: replace stp_print lock with stp style lock
  stp: rt: fix preemptible bug_on for STAT_GET_CPU

 runtime/linux/addr-map.c        |  15 +++---
 runtime/linux/stat_runtime.h    |   4 ++
 runtime/linux/task_finder2.c    |  14 +++---
 runtime/linux/task_finder_map.c |  27 ++++++-----
 runtime/print_flush.c           |   6 +--
 runtime/stp_helper_lock.h       |  80 +++++++++++++++++++++++++++++++
 runtime/stp_utrace.c            | 103 ++++++++++++++++++++--------------------
 runtime/task_finder_vma.c       |  33 ++++++-------
 8 files changed, 185 insertions(+), 97 deletions(-)
 create mode 100644 runtime/stp_helper_lock.h

-- 
1.8.3.1


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