I noticed that kprobes is designed around the idea of only allowing
a single probe point per probe address. Why not allow multiple probe
points for a given probe address? Is it a way of limiting complexity?
It looks like it would be fairly straight forward to change get_kprobe(addr)
to be get_kprobes(addr) where it returns a list of probe points associated
with the address, and then tweak do_int3 to work through the entire list.
Would such a change be acceptable?
-rustyl
Hi,
On Fri, Nov 08, 2002 at 01:00:26PM -0800, Rusty Lynch wrote:
> I noticed that kprobes is designed around the idea of only allowing
> a single probe point per probe address. Why not allow multiple probe
> points for a given probe address? Is it a way of limiting complexity?
>
We didn't think it would be useful and conceptually, it is simpler to
think of one probe at an address.
> It looks like it would be fairly straight forward to change get_kprobe(addr)
> to be get_kprobes(addr) where it returns a list of probe points associated
> with the address, and then tweak do_int3 to work through the entire list.
> Would such a change be acceptable?
>
It will be trivial to add this, but why? Is there a good reason
for wanting to do this (multiple kprobes at same address) as opposed
to doing all you want done on a probe hit in a single handler?
Regards,
Vamsi.
--
Vamsi Krishna S.
Linux Technology Center,
IBM Software Lab, Bangalore.
Ph: +91 80 5044959
Internet: [email protected]
I was really only concerned with multiple consumers of kprobes. So if
I were to create some tool that used kpobes to hook into the kernel, and
someone else were to create another tool that solved a different problem
but also used kprobes then the two tools wouldn't play nice with each other.
-rustyl
----- Original Message -----
From: "Vamsi Krishna S ." <[email protected]>
To: "Rusty Lynch" <[email protected]>
Cc: <[email protected]>
Sent: Monday, November 11, 2002 12:05 AM
Subject: Re: Multiple kprobes per address
> Hi,
>
> On Fri, Nov 08, 2002 at 01:00:26PM -0800, Rusty Lynch wrote:
> > I noticed that kprobes is designed around the idea of only allowing
> > a single probe point per probe address. Why not allow multiple probe
> > points for a given probe address? Is it a way of limiting complexity?
> >
> We didn't think it would be useful and conceptually, it is simpler to
> think of one probe at an address.
>
> > It looks like it would be fairly straight forward to change
get_kprobe(addr)
> > to be get_kprobes(addr) where it returns a list of probe points
associated
> > with the address, and then tweak do_int3 to work through the entire
list.
> > Would such a change be acceptable?
> >
> It will be trivial to add this, but why? Is there a good reason
> for wanting to do this (multiple kprobes at same address) as opposed
> to doing all you want done on a probe hit in a single handler?
>
> Regards,
> Vamsi.
> --
> Vamsi Krishna S.
> Linux Technology Center,
> IBM Software Lab, Bangalore.
> Ph: +91 80 5044959
> Internet: [email protected]
On Mon, Nov 11, 2002 at 10:35:56AM -0800, Rusty Lynch wrote:
> I was really only concerned with multiple consumers of kprobes. So if
> I were to create some tool that used kpobes to hook into the kernel, and
> someone else were to create another tool that solved a different problem
> but also used kprobes then the two tools wouldn't play nice with each other.
There will be a problem when both the tools (built on top of kprobes) try
to place probes at the same address: only the first probe actually succeds,
the second one gets -EEXIST from register_kprobe.
This could be made to work, but at the moment, it seems unnecessary
complication to me. Lets reconsider it when it really becomes a problem.
Thanks,
Vamsi.
--
Vamsi Krishna S.
Linux Technology Center,
IBM Software Lab, Bangalore.
Ph: +91 80 5044959
Internet: [email protected]