Systemtap FAQ

joaoandreferro@sapo.pt joaoandreferro@sapo.pt
Thu Aug 28 15:58:00 GMT 2014


Hello William,

Thanks for your reply. In fact, what I'm trying to do is indeed fault  
injection. I already discovered that link and heard about guru mode as  
well, but I haven't got the time to study both subjects on detail.  
Your last paragraph sounds very promising! Till now I only was able to  
do a small kernel module to bit-flip a control register, but I'll  
start looking into SystemTap, so I can enable context handling.

Concerning my second doubt, I knew it should work with CentOS, I only  
feared that it would cause me problems because of being an version of  
the OS, but it seems everything is working fine.

Regards,
João

Citando William Cohen <wcohen@redhat.com>:

> On 08/22/2014 04:51 PM, joaoandreferro@sapo.pt wrote:
>> Hello all,
>>
>>  I've just installed Systemtap, and to start I have a couple of  
>> doubts that I
>> would like to share with you:
>>
>>  1 - Firstly, what I'm trying to achieve is some kind of interrupt handler:
>> I would like to momentarily interrupt the execution of the OS, and then be
>> able to run some code of mine (to start, inject a single bit-flip into a
>> CPU register), and then resume the execution of the OS, with the
>> possibility of having information on the pre-interruption context. Is this
>> somehow possible with Systemtap?
>
> Hi,
>
> It sound like you are trying to do fault injection with systemtap.   
> SystemTap has been used successfully for fault injection on the  
> Linux kernel's scsi layer:
>
> http://lwn.net/Articles/289932/
>
> SystemTap's guru mode (-g) has the ability to modify target variable  
> value. For the kprobes, uprobe, and timer based probes you probably  
> could change the values in the pt_regs struct and effect a bit-flip.
>
> You could use the associative arrays in systemtap to store  
> information about where (backtrace) and when these bit-flips are  
> done.  Look at the the tapset library for information on various  
> functions to get timeofday and backtraces  
> https://sourceware.org/systemtap/tapsets/ .
>
>
>>
>>  2 - I'm using CentOs 6.5 32 bit (kernel version 2.6.32-431.23.3.el6.i686).
>> Will Systemtap work here? I think this information may be relevant, since
>> this isn't the last version of the distro, and some other tools I've
>> already tried to use in the past didn't worked because of my (old) kernel
>> version.
>
> SystemTap should work on CentOs.  SystemTap does need other rpms  
> such as matching kernel-devel and kernel-debuginfo.  You might need  
> to manually download and install those because yum typically tries  
> to get the most recent versions of packages.  The stap-prep command  
> should list out what packages you need to get sysetmtap working on  
> the system.  The following wiki page provides some additional  
> suggestions on setting up systemtap on CentOs:
>
> https://sourceware.org/systemtap/wiki/SystemTapOnCentOS
>
> -Will




More information about the Systemtap mailing list