This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [SYSTEMTAP/PATCH 0/4] RT aware systemtap patch set
- From: Santosh Shukla <sshukla at mvista dot com>
- To: systemtap at sourceware dot org
- Cc: Santosh Shukla <sshukla at mvista dot com>
- Date: Mon, 15 Sep 2014 15:47:51 +0530
- Subject: Re: [SYSTEMTAP/PATCH 0/4] RT aware systemtap patch set
- Authentication-results: sourceware.org; auth=none
- References: <1410246499-6938-1-git-send-email-sshukla at mvista dot com>
Ping!
do we care about making stap -rt aware. Just an fyi that I revisited
my patch specially 2nd patch and found some serious improvement to be
done.. RCU use to replace rd/wr lock just not right, So I am spinning
the patch series. Also I am thinking to come up with locking helper
function API on raw_locking vs existing spin lock so to avoid
cluttering the code.
On Tue, Sep 9, 2014 at 12:38 PM, Santosh Shukla <sshukla@mvista.com> wrote:
> Hi,
>
> I wanted to run systemtap on -rt kernel version 3.14.12-rt9 and noticed bunch of preemptible
> bug_on.This is initial effort to make systemtap rt-aware. Tested on 3.14.12-rt
> kernel. Patchset based on stap upstream link [1], build on commit-id [2].
> Patchset can work on master branch with little tweak in patch set.
>
> I have also tested this patch set in 3.10.40-rt38 kernel noticed few preemptible
> bug_on but those were coming from kernel and no improvement observed in
> systemtap side.
>
> Change summary -
> - Replaced read lock with rcu_read_lock such that read_lock_irqsave lock substituion is
> rcu_read_lock + local_irq_save and for read_unlock_irqsave lock substitution is
> local_irq_restore followed bu rcu_read_unlock.
>
> - Replaced write_lock_irqsave/restore with raw_spinlock_irqsave/restore for -rt kernel.
> And for non-rt kernel those raw_ lock should get replaced by normal spin_lock.
>
> - Replaced hlist api to rcu type api.
>
> 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())
> }
>
>
> Like know feedback, comment on patch set. also Does it make sense to maintain
> systemtap -rt version in upstream.. do we care?
>
> [1] git://sourceware.org/git/systemtap.git
> [2] git checkout 8f0fcd995f7f650a2ee0a94539f90c99e6d19e1d
>
> Santosh Shukla (4):
> rt : replace __stp_tf_task_work_list_lock to raw_
> rt : replace read write lock with rcu
> rt : stp_utrace.c : replace utrace->lock with raw_lock
> rt : replace utrace_struct lock to raw lock
>
> runtime/linux/addr-map.c | 16 ++++---
> runtime/linux/runtime.h | 2 +-
> runtime/linux/task_finder2.c | 14 +++---
> runtime/linux/task_finder_map.c | 38 ++++++++-------
> runtime/stp_utrace.c | 100 +++++++++++++++++++--------------------
> runtime/task_finder_vma.c | 43 +++++++++--------
> 6 files changed, 112 insertions(+), 101 deletions(-)
>
> --
> 1.7.9.5
>