lkml.org 
[lkml]   [2010]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 0/6] rcu head debugobjects
    On Sat, Mar 27, 2010 at 07:20:24PM -0400, Mathieu Desnoyers wrote:
    > * 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...

    I was actually feeling pretty good about remembering object_is_on_stack()
    and finding it again. ;-)

    I am not seeing anything the identifies data or bss, and in any case,
    other situations such as per-CPU, __read_mostly, and who knows what all
    else would also need to be handled. So in the short term, my guess would
    be that it would be best to provide the three functions (possibly renaming
    them as noted above), but to leave the responsibility for figuring out
    which to invoke with the caller. Always happy to be proven wrong, of
    course!

    Thanx, Paul


    \
     
     \ /
      Last update: 2010-03-28 00:45    [W:0.022 / U:60.664 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site