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