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: Kprobes Support for ARM arch


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


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