[lkml]   [1999]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Signal driven IO
    On Tue, 16 Nov 1999, Theodore Y. Ts'o wrote:
    > It's actually not clear poll() is a win; if you have scenario where you
    > have multiple threads (possibly on an SMP system), by using signals, you
    > can quickly and easily dispatch jobs to different worker threads by
    > simply having different threads picking up the real-time signals.

    i'm not sure threads can share an RT signal queue. wouldn't that be
    required in order to dispatch work from RT signals amongst several

    > One other observation, which an engineer from Netscape (who does IMAP
    > server implementations for Linux and NT) points out is that NT
    > completion ports have two features which RT SIGIO doesn't provide. One
    > is processor affinity; on SMP systems, when a completion port becomes
    > ready, the system will try to schedule the callback thread on the same
    > processor which registered the callback originally. The other is thing
    > which NT does is LIFO ordering when multiple completion ports are to be
    > scheduled. Both of these strategies are an attempt to avoid cache
    > misses.

    while LIFO preserves CPU cache contents, it can be grossly unfair under
    load, as you pointed out later. but that may even be moot if sigwaitinfo
    can deliver a vector of events at once, instead of just a single event.

    - Chuck Lever
    corporate: <>
    personal: <> or <>

    The Linux Scalability project:

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:55    [W:0.020 / U:0.964 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site