lkml.org 
[lkml]   [2005]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: Notifier chains are unsafe
    From
    Date
    On Wed, 2005-10-26 at 21:17 -0400, Joe Seigh wrote:
    > Chandra Seetharaman wrote:
    > > Andy, comment above rcu_read_lock says, "It is illegal to block while in
    > > an RCU read-side critical section."
    > >
    > > As i mentioned in the other email we are discussing about "task
    > > notifier" in lse-tech. We thought of using RCU, but one of the
    > > requirements was that the registered function should be able to block,
    > > so we are looking for alternatives.
    > >
    >
    > What are the requirements that preclude a conventional rwlock? If you
    > don't have any, then you should go with that.

    I was thinking the problem is that we cannot hold any locks while
    calling the callouts.

    But, As Keith mentioned, we cannot even acquire a lock in the
    notifier_call_chain.

    Thanks,

    chandra
    >
    > The other solutions I've mentioned before.
    >
    > Copy on read.
    >
    > Various lock-free schemes:
    > SMR hazard pointers
    > RCU+SMR (probably overkill since you don't need the read side performance)
    > reference counting
    > proxy reference counting
    >
    > The last would probably be the easiest to implement expecially if you used
    > a spinlock to safely increment the reference count without the more complicated
    > atomic thread-safety. It's also more self contained.
    >
    > User land implementations of most of the above can be found at
    > http://sourceforge.net/projects/atomic-ptr-plus/
    >
    > The proxy refcounting stuff is in the atomic-ptr-plus package. It's
    > in c++ but you should be able to figure it out.
    >
    > RCU+SMR is in the fastsmr package.
    >
    >
    >
    > --
    > Joe Seigh
    >
    > -
    > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html
    > Please read the FAQ at http://www.tux.org/lkml/
    >
    >
    --

    ----------------------------------------------------------------------
    Chandra Seetharaman | Be careful what you choose....
    - sekharan@us.ibm.com | .......you may get it.
    ----------------------------------------------------------------------


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-10-28 03:39    [W:0.026 / U:29.112 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site