Messages in this thread | | | Date | Thu, 17 Jun 2010 17:27:34 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH 1/2] perf: Add persistent events |
| |
From: Arnaldo Carvalho de Melo <acme@infradead.org> Date: Thu, Jun 17, 2010 at 11:25:46AM -0300
> Em Thu, Jun 17, 2010 at 03:43:57PM +0200, Borislav Petkov escreveu: > > From: Arnaldo Carvalho de Melo <acme@infradead.org> > > Date: Mon, Jun 14, 2010 at 10:02:01PM -0300 > > > > however, this does not differentiate perflib (let's call it that for how > > > > :) from libc headers. Do we want a "perf" or "kernel" or "perflib" or > > > > whatever prefix here - it might make sense later when this thing grows > > > > to differentiate between the namespaces...? > > > > Agreed, but the last name this thing will have will be 'perf'something :-) > > > One of the goals at least I have with pursuing this path is to separate > > > out everything that is not strictly 'perf' into things that can be reused > > > by other tools, like yours. > > > I'm still splitting perf/util into a more or less generic lib. Now, I > > want to reuse as much code as possible and am parsing the > > "mce:mce_record" tracepoint using parse_events(). However, this means > > that I have to push the not-so-generic perf bits like > > util/parse-events.c into the lib. Which, in turn, pulls in > > util/trace-event* etc. > > I'm not that familiar with the trace bits in perf, but I'd say pick what > is needed for your tool and stash it into files in a tools/lib/trace/ > directory, in a way that can be used by both perf and your tools. > > I.e. no need to move files as-is, you can reorganize things to make it > useful for both perf and your tool.
Right, this is the idea. However, all those header includes pull in other stuff. For example, if I want to use parse_events(), it pulls in parse-options.* which pulls in header.h, symbol.h etc.
What I ended up doing is have
tools/lib/perf/ /trace/ /include/ /lk/
for all the different types of facilities. So lk contains the generic perf/util/ stuff, include contains all the linux and asm headers like bitops.h, hash.h, kernel.h etc, perf contains parse-events.* because it deals with perf stuff and so on.
How's that?
> > What is your preference, do we want to export all perf/util stuff for > > other tools to use or rather link other tools together with > > compilation modules from perf/util in case those other tools need > > them? > > If we do it on a as-needed basis, as I suggested, we go eroding the > current perf hodgepodge of potentially generic stuff.
I think splitting it in kinda "subsystems" helps keep the modularity.
Opinions, comments?
-- Regards/Gruss, Boris.
Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Gemeinde Aschheim, Landkreis München Registergericht Muenchen, HRB Nr. 43632 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |