Systemtap FAQ
joaoandreferro@sapo.pt
joaoandreferro@sapo.pt
Fri Aug 29 14:40:00 GMT 2014
Hello again, William,
Humm, I got both .rpm packages from
http://debuginfo.centos.org/6/i386/ (matching exactly the same kernel
version as the target kernel, of course, in this case
2.6.32-431.23.3.el6.i686)
Regards
João
Citando William Cohen <wcohen@redhat.com>:
> On 08/28/2014 11:58 AM, joaoandreferro@sapo.pt wrote:
>> 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
>
> The common issue with using systemtap is that it is very particular
> about the kernel debug info and kernel devel files matching the
> instrumented kernel exactly. That means that rpms need to come from
> the same build; being built at different times from the same source
> rpm is not sufficient.
>
> -Will
>
>
>>
>> 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