Re: [patch 1/5] Debugobjects transition check (updated changelog)

From: Thomas Gleixner
Date: Thu Apr 15 2010 - 14:33:26 EST


B1;2005;0cOn Tue, 6 Apr 2010, Mathieu Desnoyers wrote:
> Implement a basic state machine checker in the debugobjects.
>
> This state machine checker detects races and inconsistencies within the "active"
> life of a debugobject. The checker only keeps track of the current state; all
> the state machine logic is kept at the object instance level.
>
> The checker works by adding a supplementary "unsigned int astate" field to the
> debug_obj structure. It keeps track of the current "active state" of the object.
>
> The only constraints that are imposed on the states by the debugobjects system
> is that:
>
> - activation of an object sets the current active state to 0,
> - deactivation of an object expects the current active state to be 0.
>
> For the rest of the states, the state mapping is determined by the specific
> object instance. Therefore, the logic keeping track of the state machine is
> within the specialized instance, without any need to know about it at the
> debugobject level.
>
> The current object active state is changed by calling:
>
> debug_object_active_state(addr, descr, expect, next)
>
> 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.

Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Please feel free to pull that into the rcu branch where the users are
going to be.

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/