Messages in this thread | | | Date | Mon, 29 Mar 2010 09:39:33 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [patch 0/6] rcu head debugobjects |
| |
Hi Paul,
Thinking about the rcu head init topic, we might be able to drop the init_rcu_head() initializer. The idea is the following:
- We need init_rcu_head_on_stack()/destroy_rcu_head_on_stack(). - call_rcu() populates the rcu_head and normally does not care about it being pre-initialized. - The activation fixup can detect if a non-initialized rcu head is being activated and just perform the fixup without complaining. - If we have two call_rcu() in a row in the same GP on the same rcu_head, the activation check will detect it.
So either we remove all the init_rcu_head(), as was originally proposed, or we use one that is a no-op on !DEBUG configs and initialize the object with DEBUG configs.
That removes the dependency on object_is_static().
Thoughts ?
Thanks,
Mathieu
-- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com
| |