Re: [RFC PATCHSET] perf ui: Small preparation on further UI work

From: Namhyung Kim
Date: Wed Mar 28 2012 - 21:04:04 EST


On Wed, 28 Mar 2012 11:28:08 -0300, Arnaldo Carvalho de Melo wrote:
> Em Wed, Mar 28, 2012 at 11:14:25AM +0900, Namhyung Kim escreveu:
>> Em Tue, Mar 27, 2012 at 01:44:42PM +0300, Pekka Enberg escreveu:
>> > Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxxxx> wrote:
>> > So I would just leave things in tools/perf/util/ui/ and do what you did
>> > in moving the TUI specific bits to a separate function, even ui__init()
>> > would be ok for now, and then at setup_browser() check what kind of
>> > interface is being used and call ui__init() if it is the TUI and the
>> > gtk init one if GTK+ was chosen.
>> I think it'd be better moving the TUI specific codes to a separate file
>> (under a separate directory, like tools/perf/util/ui/tui - but it looks
>> like so deep nesting) rather than a function since the generic
> What do you have against directory trees? :P We need to chop off the
> /util/ part, but apart from that...
>> code (setup_browser) should be compiled without the TUI support.
>> Otherwise we'll see some #ifdef's in the source file(s).
>> Or, we can put those codes under the same directory (tools/perf/util/ui)
>> and have different suffixes - say, if generic code were XXX.c, TUI one
>> would be XXX-tui.c and GTK+ one would be XXX-gtk.c.
> ... what is the difference of using:
> tools/perf/util/ui/tui/init.c
> instead of:
> tools/perf/util/ui/tui-init.c
> ?

Nothing. I just want to remain the directory nesting level if you care. :)

> Since we'll be introducing new files, it seems the first step would be
> to just do a simple, no changes in the files, move of
> tools/perf/util/ui/ to tools/perf/ui/ and then introduce
> tools/perf/ui/tui/{init,etc}.c
> Gtk would as well be moved to tools/perf/ui/gtk/.

Yeah, This is what I wanted to have from the begining. I'll revise my
patches after moving the files to tools/perf/ui.

> At some point we would then introduce some sort of plugin mechanism
> where files found in /usr/lib/perf/ui/ or some other suitable directory
> would be loaded in a modprobe like way, i.e. if the user asks for --gtk,
> it would try to find /usr/lib/perf/ui/ and try to load it, etc.
> That way we start to reduce the miriad libraries that we have linked in
> the main perf binary, making it easier for packaging, etc.
> - Arnaldo

That would be great!

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at