Re: [patch 1/5] Debugobjects transition check

From: Thomas Gleixner
Date: Tue Apr 06 2010 - 04:17:13 EST


On Wed, 31 Mar 2010, Mathieu Desnoyers wrote:
> > > where "expect" is the expected state and "next" is the next state to move to if
> > > the expected state is found. A warning is generated if the expected is not
> > > found.
> >
> > Does it only warn or is there a callback to fixup things as well ?
>
> For the moment, it only warns. I have not seen the need for a fixup callback
> yet. It might become useful at some point, but I prefer to proceed
> incrementally. This kind of callback could become quite big too, because it
> would have to deal with transitions "from each to each" states of the system,
> with, in the worse case scenario, different fixups for each situation.
>
> Just for the specific case of "do RCU batch", when detecting that a non-queued
> rcu head is there for execution, there are a few cases to consider:
>
> - List corruption
> - Appears in two lists.
> - Appears in the same list twice.
> - Race (two threads reading the list at the same time).
> - ...
>
> I am probably forgetting about others. So one way to fixup this would be not to
> execute the callback, but even then, the lists might be corrupted. So it's not
> at all clear to me if we can do much better than reporting the inconsistency
> without increasing intrusiveness. But maybe I just need more imagination. ;)

Yes, that sounds tricky to implement and maybe not worth the
effort. Can you resend the debugobjects patch with a full changelog
please ?

Thanks,

tglx
--
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/