This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Kprobes Support for ARM arch
- From: rsmadhvesh at vsnl dot net
- To: ananth at in dot ibm dot com
- Cc: systemtap at sources dot redhat dot com, madhvesh dot s at ap dot sony dot com, lubna at ap dot sony dot com, satish dot v at ap dot sony dot com
- Date: Fri, 12 Jan 2007 10:42:07 +0500
- Subject: Re: Kprobes Support for ARM arch
- References: <e3fee14ecb18.45a696cf@vsnl.net> <20070112053157.GA7437@in.ibm.com>
Dear Ananth,
Ananth N Mavinakayanahalli wrote on Friday, January 12, 2007 11:02 am
> On Thu, Jan 11, 2007 at 07:58:07PM +0500, rsmadhvesh@vsnl.net wrote:
>
> Hi Madhvesh,
>
> > Hi All,
> >
> > Recently we completed the kprobes support for ARM architecture
> > targetted at 2.6.16 kernel. I have uploaded these patches in the
> > below CELF wiki page along with few test programs.
> > This implementation is tested using 2.6.16-24 kernel for
> > OMAP5912 OSK reference platform.
>
> I am not familiar with the ARM architecture details... the following
> comments are from a quick glance at the patch.
>
> > The patch is available in the below CELF wiki page
> > http://tree.celinuxforum.org/CelfPubWiki/PatchArchive
> >
> > The patch can be downloaded directly from here
> >
> http://tree.celinuxforum.org/CelfPubWiki/PatchArchive?action=AttachFile&do=get&target=kprobes-arm-patches-2.6.16.24.tgz
> >
> > This implementation supports only kprobes and doesnot
> > support any other variants like jprobes, kretprobes etc.
> > Also it doesnot support branch/jump instructions probing.
>
> How are you ensuring that a kprobe register request on a branch/jump
> instruction fails? I don't see any profiling done to verify what the
> underlying instruction is.
We are working out a way to check for branch/jump instructions
which can be used to take care of runtime crash if probe is placed
for those instructions.
>
> See arch_prepare_kprobe() from the powerpc port as to how we fail
> kproberegistration on certain instructions.
Thank you for the pointers, we are trying to address in same fashion.
>
> > I noticed some discussions regarding ARM kprobes in the
> > archive. We are open to suggestions and how this implementation can
> > be improved.
>
> Given that quite a bit of the kprobes code for any platform is
> architecture specific, its important that your code gets reviewed
> by the
> ARM kernel gurus/maintainers, if you intend that the patch be included
> in the mainline Linux kernels.
>
> Also, you may want to port the patch to the latest kernel. There have
> been some interface changes:
> - kprobe modules are more portable with the addition of in-kernel
> symbol lookup.
> - The page fault case gets its own notifier so there isn't a
> penalty paid
> when kprobes aren't in use.
It will be interesting to merge to main line kernel, i will ask
you if i find any difficulty in porting
Thank you very much for your quick feedback
Best Regards
Madhvesh