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: aarch64 systemtap testsuite results


On 05/15/2014 01:32 AM, Sandeepa Prabhu wrote:
> On 15 May 2014 00:14, William Cohen <wcohen@redhat.com> wrote:
>> On 05/14/2014 03:24 AM, Jakub Pavelek wrote:
>>> Hello William,
>>>
>>> many thanks for the update!
>>>
>>> Is any of the reported issues something that Linaro should work on fixing? Here at Linaro we want to get Systemtap running in our automated testing loop for ARMv8 and we hope to fare better in pass-rates as we have ARM64 kprobes implementation included in Linaro kernel already.
>>>
>>>
>>
>> Hi Jakub,
>>
>> We have a kernel with kprobe patches running on a machine.  However, it seems pretty easy to crash the machine with scripts using the kprobes.  I have a list scripts to try exercise things in different ways to get a better idea how things are failing.  So far it seems that a kprobe firing once works.  When a single probe fires multiple times with an empty probe handler there isn't a problem either.  However, if the probe that does printing in the probe handler then things go wrong.  This might be a problem in the code that systemtap is generating or the systemtap runtime.  Below are the script suggestions to exercise kprobes.
>>
>> -Will
>>
>>
>>
>> Start with the very simple single probe:
>>
>>   stap -kve 'probe syscall.read {printf("hey\n"); exit()}'
>>
>> Have the same probe point fire twice:
>>
>>   stap -kve 'global x; probe syscall.read {x++; printf("hey %d\n", x); if (x>1) exit()}'
>>
>> Have the same probe point fire multiple times with empty body:
>>
>>   stap -kve 'probe syscall.read {} probe timer.s(1){exit()}'
>>
>> Have the same probe point fire multiple times:
>>
>>   stap -kve 'probe syscall.read {printf("hey\n")} probe timer.s(1){exit()}'
>>
>> Have two probes points fire multiple times with empty body:
>>
>>   stap -kve 'probe syscall.read, syscall.write {} probe timer.s(1){exit()}'
>>
>> Have two probes points fire multiple times:
>>
>>   stap -kve 'probe syscall.read, syscall.write {printf("%s\n",pn())} probe timer.s(1){exit()}'
>>
>> Have many probe points fire multiple times with empty body:
>>
>>   stap -kve 'probe syscall.* {} probe timer.s(1){exit()}'
>>
> Hi Will,
> 
> Thanks for the steps, most of these cases had been tested with
> loadable kernel modules, like multiple probes and recursive probe hits
> etc. I had not tested more than 3 simultaneous probe points though!
> 
> ~Sandeepa
> 

Hi Sandeepa,

Is the aarch64 kprobes testing using the linux kernel modules built with  CONFIG_KPROBES_SANITY_TEST=y?  Or is there some other test code?  If it is some other code base could you provide a pointer to where it is located? Having non-systemtap based exercise of the kprobes would be good. It is possible there is something going on in the code that systemtap is generating that is causing the problems.  There is some arch specific code in the systemtap runtime and it is possible that it is incorrect.

-Will


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