This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: SystemTap for Android - patchset
- From: Josh Stone <jistone at redhat dot com>
- To: Alexander Lochmann <alexander dot lochmann at tu-dortmund dot de>, systemtap at sourceware dot org
- Date: Fri, 1 Jul 2016 10:46:53 -0700
- Subject: Re: SystemTap for Android - patchset
- Authentication-results: sourceware.org; auth=none
- References: <f01a1f27-3cdb-61a4-cbdb-7bffd1032c8e at tu-dortmund dot de> <56e0c7f4-d317-f76b-5156-3569a6097b62 at tu-dortmund dot de>
On 07/01/2016 09:15 AM, Alexander Lochmann wrote:
>
> Hi folks!
>
> Finally, I decided to submit my patch, which makes SystemTap work for
> Android. Moreover, it adds two new features:
> - Support for ignoring all available tapset directories, except the one
> that is provided by -K
Can you explain why you need this?
One can already override the primary tapset directory with the
environment SYSTEMTAP_TAPSET. Ignoring -I options also seems
questionable, especially since this depends on the order -- it looks
like -I specified after -K will still be used, while those before will
be ignored.
> - Support for a pid file in staprun, parameter is -U
And you added -M on stap itself. I don't understand either of those
letter choices.
The functionality itself is not too controversial, but I'd still like to
see your justification in the commit log, and some examples how this is
used in Android.
> I had to modify several source files of staprun. Those changes are
> mostly copied from the corresponding files contained in commit
> 2c10863bfe41b51272eff714a837f4977bdc257a. For some reasons, those ifdef
> parts have been removed. I readded them, and changed the macro, which
> activates them.
That commit is "man stap: fixed typos". Did you mean something else?
> The patch contains two bugfixes for the SystemTap as well.
> Unfortunately, I failed to extract those fixes properly. :(
As David said, it would help us a lot if you separated each of these
changes into distinct commits. If you have the changes in a working git
directory, "git add -p" can help you mark specific changes to be
committed. "git-gui" is also pretty good for selecting hunks. Feel
free to ask for help on #systemtap if you still have trouble.
> The first fix starts at line 510, and goes until line 555.
> Since an older kernel like 3.0 does not support uprobes, systemtap
> includes 'runtime/linux/task_finder_stubs.c'. That file itself does
> *not* include 'syscall.h', which declares several syscall-related functions.
> The second fix starts at line 1106. For some reasons in the Linux kernel
> 3.0 the macro cputime_to_usecs() has a semicolon at the end of its
> definition. Therefore, the defition of cputime_to_msecs() in '
> tapset/linux/task_time.stp' must be modified to deal with that fact.
>
> Cheers,
> Alex
>
> ---
> Technische UniversitÃt Dortmund
> Alexander Lochmann PGP key: 0xBC3EF6FD
> Otto-Hahn-Str. 16 phone: +49.231.7556141
> D-44227 Dortmund fax: +49.231.7556116
> http://ess.cs.tu-dortmund.de/Staff/al
>