Messages in this thread | | | Date | Sat, 27 Mar 2010 19:20:24 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [patch 0/6] rcu head debugobjects |
| |
* Mathieu Desnoyers (mathieu.desnoyers@efficios.com) wrote: > * Paul E. McKenney (paulmck@linux.vnet.ibm.com) wrote: [...] > > o Patch 6/6: Would it be possible to use the object_is_on_stack() > > function defined in include/linux/sched.h instead of passing > > in the flag on_stack to bdi_work_init()? It looks like > > fs/fs-writeback.c already includes include/linux/sched.h, so > > shouldn't be a problem from a #include-hell viewpoint. > > Wow, that's cool! We learn about exciting internal API functions every day, > isn't life great ? I will definitely change the fs-writeback.c code to make use > of it. > > We might event want to go further. A similar scheme could be used for the > rcu_head debugobject activation fixup. Basically, I need a way to distinguish > between: > > A) objects on stack and allocated objects > and > B) objects statically initialized > > So either we use something resembling: > > if (object_is_on_stack() || object_is_allocated()) > > or > > if (object_is_static()) > > I am not aware of the proper API members to do that though. >
Something close to "object_is_static()" would be "kernel_text_address()", but it only considers the text section addresses. I'd need something that would be broader than that, containing all core kernel and module bss and data sections.
Still looking...
Thanks,
Mathieu
-- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com
| |