Re: [F.A.Q.] the advantages of a shared tool/kernel Git repository, tools/perf/ and tools/kvm/

Ingo Molnar
2011-11-10T08:16:52Z

* Alexander Graf <agraf@suse.de> wrote:

> [...]
>
> Outside of the kernel tree, you can do your own decisions. If
> someone thinks it's a great idea to write device emulation in
> python (I would love that!), he could go in and implement it
> without having to worry about Linus possibly rejecting it because
> it's out of scope for a "Linux kernel testing tool". If you want to
> create the greatest GUI for virtualization the world has ever seen,
> you can just do it! Nothing holds you back.

We actually recently added Python bindings to event tracing in perf:

earth5:~/tip> find tools/perf/ -name '*.py'
tools/perf/python/twatch.py
tools/perf/util/setup.py
tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py
tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Core.py
tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/SchedGui.py
tools/perf/scripts/python/syscall-counts.py
tools/perf/scripts/python/sctop.py
tools/perf/scripts/python/sched-migration.py
tools/perf/scripts/python/check-perf-trace.py
tools/perf/scripts/python/futex-contention.py
tools/perf/scripts/python/failed-syscalls-by-pid.py
tools/perf/scripts/python/net_dropmonitor.py
tools/perf/scripts/python/syscall-counts-by-pid.py
tools/perf/scripts/python/netdev-times.py

... and Linus did not object (so far ;-) - nor does he IMHO have many
reasons to object as long as the code is sane and useful. Nor did
Linus object when perf extended its scope from profiling to tracing,
system monitoring, etc.

While i don't talk for Linus, the only 'hard boundary' that Linus
enforces and expects all maintainers to enforce that i'm aware of is
"don't do crazy crap". Everything else is possible as long as it's
high quality and reasonable, with a good upside story that is
relevant to the kernel - you can let your imagination run wild,
there's no artificial barriers that i'm aware of.

Anyway, i have outlined the rough consequences of a user-space
project being inside the kernel repo in this post:

http://lkml.org/lkml/2011/11/10/86

... and they are definitely not trivial and easy to meet.

Thanks,

Ingo