Re: move gfs2 tracepoints to inclue/trace/events dir

Ingo Molnar
2009-10-25T16:29:23Z

* Christoph Hellwig <hch@infradead.org> wrote:

> On Mon, Oct 12, 2009 at 12:00:37PM +0200, Ingo Molnar wrote:
>
> > yeah. I have no objection to adding it to include/trace/.
> > Tracepoints are a fundamentally global business.
> >
> > Subsystems can opt to hide their tracepoints locally, but it's
> > better to have a global view about what's out there, so that it can
> > be extended coherently, etc.
>
> We're lacking quite a bit coherence even with it. The originally
> reason why there were global was that the infrastructure couldn't cope
> with having the either in modules or elsewhere in the source tree at
> all.
>
> We have managed to avoid global directories for drivers/filesystems
> for as much as we can lately. Having everything in a directory makes
> sure it's self-contained and people don't use it accidentally from
> other modules, which also applies to trace events - we don't want
> people accidentally use gfs2 tracepoints from a driver (and if you
> think that's far fetched look at the recent example of a driver using
> debugging macros from the networking code that got pulled in
> accidentally somewhere).

Tracepoints are closer to documentation than to filesystem
functionality. And you are wrong when you say that everything related to
filesystems is 'modular' - we have all documentation concentrated in
Documentation/filesystems/ - and that is good so.

Just like we have library functions for filesystems concentrated in
fs/*.c.

I think you are looking at it way too rigidly without considering the
other side of the equation. Modularity has its costs: it hides details
and makes it harder to compare implementations.

Ingo