[lkml]   [1999]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Mark Russinovich's reponse Was: [OT] Comments to WinNT Mag !! (fwd)
    On Tue, 4 May 1999, Mark Christiansen wrote:

    > NT's asynchronous I/O is very useful when dealing with external hardware
    > and something approaching real time. I would be most happy if Linux were
    > to support asynchronous I/O and a system call like NT's WaitForMultipleObjects().
    > For those who have not done this sort of thing on NT, WaitForMultipleObjects
    > is like an enhanced select() which can accept files, semaphores, mutexes, the whole
    > range of things that a program might want to wait for and wakes the program
    > up as soon as one of these is ready. It allows me to write simple code which
    > deals efficiently with a long lists of asynchronous events.

    In Linux (or any Unix) select()/poll() on anonymous pipes or local
    sockets does the same thing easier, except that pipes/sockets can also
    pass some meaningful information about "events" from the point of view of
    another process/thread. The high efficiency of pipes (and scheduler's
    handling of processes/threads that use them, that causes context switch at
    the right time) is probably the reason why such interface never appeared.

    In my HTTP server I use this kind of mechanism as a transport between
    nonblocking main process and "worker" backend processes, and it seems to
    work well. I haven't made any precise scalability measurements (it's a web
    server after all -- it takes large number of clients to load it high
    enough to reach those limits), however I doubt that scalability of any
    implementation of WaitForMultipleObjects will differ from scalability of

    This however brings another question -- FreeBSD at some point of its
    evolution abandoned 4.4BSD implementation of anonymous pipes over sockets
    and re-adopted "classic BSD" concept of unidirectional extra-lightweight
    pipes (implemented with some VM-related stuff by John Dyson). Had anyone
    compared Linux and FreeBSD pipe implementations' efficiency?


    Excellent.. now give users the option to cut your hair you hippie!
    -- Anonymous Coward

    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:51    [W:0.032 / U:4.344 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site