[lkml]   [2009]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC] Userspace RCU: (ab)using futexes to save cpu cycles and energy
    Mathieu Desnoyers wrote:
    > Hrm, your assumption about the common case does not seem to fit my
    > scenarios.

    Obviously I was misled.

    So I now understand that you want to schedule the thread as a result to
    some event and the Thread might already be running at that time, so that
    it does not need to enter an OS-based wait state.

    But to me this looks as if a _counting_ semaphore is needed here (at
    least in a more general case), instead of a binary semaphore (such as
    FUTEX does manage). Only with a counting semaphore no events are missed
    (unless the user software design cares for this with other means, which
    might be difficult or impossible).

    Of course the fast path of a user space counting semaphore is easily
    doable with atomic_inc() and atomic_dec().

    But I only know about two working variants of the user space code for
    the (binary) FUTEX. There seem to be some more implementations that do
    not work decently.

    I have no idea if it's possible to create a counting semaphore in user
    space that uses the "futex" syscall (or whatever) for the case the
    threads needs to wait.


     \ /
      Last update: 2009-10-07 09:29    [W:0.019 / U:41.076 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site