lkml.org 
[lkml]   [2011]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC][PATCH 0/3] delayed wakeup list
    From
    Date
    Le mercredi 14 septembre 2011 à 15:30 +0200, Peter Zijlstra a écrit :
    > This patch-set provides the infrastructure to delay/batch task wakeups.
    >
    > This is useful for locking primitives that can effect multiple wakeups
    > per operation and want to avoid lock internal lock contention by
    > delaying the wakeups until we've released the lock internal locks.
    >
    > Patch 2 converts futexes
    > Patch 3 converts sysv sems, and is broken
    >
    > [ I've been staring at patch 3 way too long, so I thought I'd post it just
    > to get a few more eyes on it.. ]
    >
    > Alternatively it can be used to avoid issuing multiple wakeups, and
    > thus save a few cycles, in packet processing. Queue all target tasks
    > and wakeup once you've processed all packets. That way you avoid
    > waking the target task multiple times if there were multiple packets
    > for the same task.
    >
    > No actual such usage yet, but ISTR talking to some net folks a long while back
    > about this, is there still interest, Dave, Eric?
    >

    Yes, I remember playing with such idea some years ago, to speedup
    multicast processing.

    Say you have 10 receivers on a multicast group, each incoming message
    actually wakeups 10 threads.

    If we receive a burst of 10 messages, we spend a lot of time in
    scheduler.

    So adding one queue to batch all scheduler works (and factorize some
    work if the same thread is queued), and perform the scheduler calls at
    the end of software IRQ for example was a win.



    --
    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-09-14 15:53    [W:0.023 / U:60.124 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site