Re: [RFC] [PATCH 0/2] Futex fault injection

From: Ingo Molnar
Date: Wed Dec 02 2009 - 04:19:36 EST



* Sripathi Kodi <sripathik@xxxxxxxxxx> wrote:

> On Tue, 1 Dec 2009 17:23:59 +0100
> Ingo Molnar <mingo@xxxxxxx> wrote:
>
> >
> > * Darren Hart <dvhltc@xxxxxxxxxx> wrote:
> >
> > > I don't think the "butt-ugly" argument is enough to reject the patch.
> >
> > It is in my book - i dont ever apply ugly patches intentionally.
> >
> > > It's a fairly subjective metric and I don't think the proposed
> > > solution results in "pretty" code either. In fact the super long
> > > function names and multi-line conditionals are arguably "ugly" (maybe
> > > not "butt-ugly" though). :-)
> > >
> > > However, the arguments are solid and I understand wanting to introduce
> > > a new feature in a particular way. Has there been any work done on
> > > perf event injection up to this point or would this be a completely
> > > new perf feature?
> >
> > Yeah, it would be a brand new one.
> >
>
> Fault injection framework currently in the kernel provides an
> infrastructure to set parameters like 'probability', 'interval',
> 'times' as well as a task filter. I think a fault injection mechanism
> using tracepoints-perf will also need to provide such a framework,
> because without that the faults become too predictable. For example,
> if there are 20 fault points in the kernel, we should be able to
> trigger any one of them with a given probability, possibly for a
> particular task alone. This infrastructure will have to be built in
> perf tools in user space. Do you agree?

Yeah, definitely so. I think event injection is ultimately useful and
should/could graduate/extend from its current rather limited debugfs
based API to something syscall based (which perf could offer). App
testsuites could programmatically inject faults, etc.

The act of logging/tracing/profiling events and the act of injecting
events is ultimately connected.

Btw., 'perf task filter' is something inherent in perf events: you can
define per task (or per cpu, or per task hierarchy) events.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/