lkml.org 
[lkml]   [2011]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 3/3] kref: Remove the memory barriers
    From
    On Mon, Dec 12, 2011 at 4:54 PM, Peter Zijlstra <peterz@infradead.org> wrote:
    > On Mon, 2011-12-12 at 11:48 +0800, Ming Lei wrote:
    >> For kref, maybe it is still multiple operations done on one cpu vs them
    >> being visible on another, but seems a bit implicit, see the common kref
    >> usage below:
    >>
    >> CPU0                            CPU1
    >>                                         A:kref_init(&obj->ref)
    >
    > how does CPU0 get a ref to obj?

    Suppose open/close/read/.. context is run on CPU0, and driver .probe/.release
    context(hotplug context) is run on CPU1. There are a few examples on
    usb driver(eg. usb-skeleton.c, ...)

    >
    >> B:kref_get(&obj->ref)
    >> C:access obj                    E:access obj
    >>                                         F:kref_put(&ojb->ref)
    >> D:kref_put(obj->ref)


    thanks,
    --
    Ming Lei
    --
    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: 2011-12-12 10:59    [W:2.848 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site