lkml.org 
[lkml]   [2002]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Futexes IV (Fast Lightweight Userspace Semaphores)
    On Sat, 16 Mar 2002 12:23:26 +0100
    Martin Wirth <martin.wirth@dlr.de> wrote:
    > Rusty Russell wrote:
    > >The solution I was referring to before, using full semaphores, would
    > >look like so:

    [snip]

    > In principle that works. But one of things that's less nice with
    > pthread_cond_wait is
    > that you sometimes have a (most of the time) unnecessary schedule
    > ping-pong, and with the
    > approach above you always have this (due to ack).

    Only vs. pthread_cond_broadcast. And if you're using that you probably
    have some other performance issues anyway?

    > And secondly if
    > futex_up(&f, N) for N > 1
    > relies on the chained wakeup in the kernels futex_up routine the
    > broadcast may take a while to
    > complete (the lowest priority waiter penalizes all others queued behind
    > him). A semaphore simply is no full replacement for a waitqueue with
    > wake_all.

    Yes, we could have a "wake N" variant, which would be more efficient here.

    Hope that clarifies,
    Rusty.
    --
    Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
    -
    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-03-22 13:25    [W:0.023 / U:0.248 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site