public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 9/18] 2.6.17.9 perfmon2 patch for review: kernel-level interface
@ 2006-08-25  6:56 Chuck Ebbert
  2006-08-25  7:25 ` Stephane Eranian
  2006-08-25 13:47 ` Christoph Hellwig
  0 siblings, 2 replies; 5+ messages in thread
From: Chuck Ebbert @ 2006-08-25  6:56 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Christoph Hellwig, linux-kernel, Stephane Eranian

On Wed, 23 Aug 2006 15:54:47 -0700, Andrew Morton wrote:

> > > Some users have requested the ability to create a monitoring session
> > > with perfmon2 from iside the kernel using a kernel thread. Perfmon2
> > > leverages a lot of kernel mechanisms which are not easy to use for
> > > inside the kernel: e.g. file descriptor, signals, system calls.
> > 
> > Again, please drop this.  There are no planned intree kernel users
> > so far, and once we add them we can architect a proper API for them.
> > Getting rid of this should also help to collapse the tons of useless
> > abstractions layers in the current perfmon code.
> > 
> 
> Yes, I think we either need a stronger argument for including this code, or
> we drop it.

This interface is for people writing kprobes who want to do performance
monitoring within their probe code.  There will probably never be any
in-kernel users, just like there are no in-kernel users of kprobes.

> It is especially worrisome that the exports which are added here are plain
> old EXPORT_SYMBOL().

kprobes exports are all GPL, so these should be too.

-- 
Chuck


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 9/18] 2.6.17.9 perfmon2 patch for review: kernel-level interface
  2006-08-25  6:56 Chuck Ebbert
@ 2006-08-25  7:25 ` Stephane Eranian
  2006-08-25 13:47 ` Christoph Hellwig
  1 sibling, 0 replies; 5+ messages in thread
From: Stephane Eranian @ 2006-08-25  7:25 UTC (permalink / raw)
  To: Chuck Ebbert; +Cc: Andrew Morton, Christoph Hellwig, linux-kernel

Hi,

On Fri, Aug 25, 2006 at 02:56:37AM -0400, Chuck Ebbert wrote:
> On Wed, 23 Aug 2006 15:54:47 -0700, Andrew Morton wrote:
> 
> > > > Some users have requested the ability to create a monitoring session
> > > > with perfmon2 from iside the kernel using a kernel thread. Perfmon2
> > > > leverages a lot of kernel mechanisms which are not easy to use for
> > > > inside the kernel: e.g. file descriptor, signals, system calls.
> > > 
> > > Again, please drop this.  There are no planned intree kernel users
> > > so far, and once we add them we can architect a proper API for them.
> > > Getting rid of this should also help to collapse the tons of useless
> > > abstractions layers in the current perfmon code.
> > > 
> > 
> > Yes, I think we either need a stronger argument for including this code, or
> > we drop it.
> 
> This interface is for people writing kprobes who want to do performance
> monitoring within their probe code.  There will probably never be any
> in-kernel users, just like there are no in-kernel users of kprobes.
> 
That is indeed the reason why I put this in. In the context of kprobes
code (callback), I don't think it is possible to make some upcall
to userland to interact with the perfmon2 interface. Yet, I think that
combining kprobes with monitoring could be very useful. A simple example
is to use kprobes to control where monitoring starts and stops, e.g.,
on a function boundaries.

> > It is especially worrisome that the exports which are added here are plain
> > old EXPORT_SYMBOL().
> 
> kprobes exports are all GPL, so these should be too.
> 
Yes. I am just too used to EXPORT_SYMBOL(). I will fix this in the next patch.

-- 
-Stephane

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 9/18] 2.6.17.9 perfmon2 patch for review: kernel-level interface
  2006-08-25  6:56 Chuck Ebbert
  2006-08-25  7:25 ` Stephane Eranian
@ 2006-08-25 13:47 ` Christoph Hellwig
  1 sibling, 0 replies; 5+ messages in thread
From: Christoph Hellwig @ 2006-08-25 13:47 UTC (permalink / raw)
  To: Chuck Ebbert
  Cc: Andrew Morton, Christoph Hellwig, linux-kernel, Stephane Eranian

On Fri, Aug 25, 2006 at 02:56:37AM -0400, Chuck Ebbert wrote:
> > Yes, I think we either need a stronger argument for including this code, or
> > we drop it.
> 
> This interface is for people writing kprobes who want to do performance
> monitoring within their probe code.  There will probably never be any
> in-kernel users, just like there are no in-kernel users of kprobes.

Wrong argument.  There is a in-tree user of kprobes and I plan to submit
a lot more.  If people want to write kprobes for performance mintoring
they should submit them for inclusion and we can then find a proper
API for it - the current one is rather horrible anyway.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 9/18] 2.6.17.9 perfmon2 patch for review: kernel-level interface
@ 2006-08-25 20:16 Chuck Ebbert
  2006-08-27 18:31 ` Andi Kleen
  0 siblings, 1 reply; 5+ messages in thread
From: Chuck Ebbert @ 2006-08-25 20:16 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Stephane Eranian, linux-kernel, Andrew Morton

In-Reply-To: <20060825134704.GA21398@infradead.org>

On Fri, 25 Aug 2006 14:47:04 +0100, Christoph Hellwig wrote:

> > This interface is for people writing kprobes who want to do performance
> > monitoring within their probe code.  There will probably never be any
> > in-kernel users, just like there are no in-kernel users of kprobes.
>
> Wrong argument.  There is a in-tree user of kprobes and I plan to submit
> a lot more.

OK.  More than two years after kprobes went into the kernel, a single
in-kernel user has now appeared in 2.6.18-rc: /net/ipv4/tcp_probe.c

So by your argument kprobes should not have been merged until now.

> If people want to write kprobes for performance mintoring
> they should submit them for inclusion and we can then find a proper
> API for it - the current one is rather horrible anyway.

How so?  Last time I tried it I had to manually copy parts of headers 
from libpfm to get the fields but that should be easy to fix.  And
some wrappers around the low-level functions might be nice but again
that's easy to add.

-- 
Chuck


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 9/18] 2.6.17.9 perfmon2 patch for review: kernel-level interface
  2006-08-25 20:16 [PATCH 9/18] 2.6.17.9 perfmon2 patch for review: kernel-level interface Chuck Ebbert
@ 2006-08-27 18:31 ` Andi Kleen
  0 siblings, 0 replies; 5+ messages in thread
From: Andi Kleen @ 2006-08-27 18:31 UTC (permalink / raw)
  To: Chuck Ebbert; +Cc: Stephane Eranian, linux-kernel, Andrew Morton

Chuck Ebbert <76306.1226@compuserve.com> writes:

> In-Reply-To: <20060825134704.GA21398@infradead.org>
> 
> On Fri, 25 Aug 2006 14:47:04 +0100, Christoph Hellwig wrote:
> 
> > > This interface is for people writing kprobes who want to do performance
> > > monitoring within their probe code.  There will probably never be any
> > > in-kernel users, just like there are no in-kernel users of kprobes.
> >
> > Wrong argument.  There is a in-tree user of kprobes and I plan to submit
> > a lot more.
> 
> OK.  More than two years after kprobes went into the kernel, a single
> in-kernel user has now appeared in 2.6.18-rc: /net/ipv4/tcp_probe.c

No rules without exceptions. But there has to be a quite good rationale.
kprobes had one.  The mythical perfmon in kernel user doesn't so far.

-Andi

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-08-27 18:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-25 20:16 [PATCH 9/18] 2.6.17.9 perfmon2 patch for review: kernel-level interface Chuck Ebbert
2006-08-27 18:31 ` Andi Kleen
  -- strict thread matches above, loose matches on Subject: below --
2006-08-25  6:56 Chuck Ebbert
2006-08-25  7:25 ` Stephane Eranian
2006-08-25 13:47 ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox