lkml.org 
[lkml]   [2002]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjectcontext switch vs. signal delivery [was: Re: Accelerating user mode linux]

    On 2 Aug 2002, Alan Cox wrote:

    > The numbers look very different on a real processor. Signal delivery is
    > indeed not stunningly fast but relative to a context switch its very low
    > indeed.

    actually the opposite is true, on a 2.2 GHz P4:

    $ ./lat_sig catch
    Signal handler overhead: 3.091 microseconds

    $ ./lat_ctx -s 0 2
    2 0.90

    ie. *process to process* context switches are 3.4 times faster than signal
    delivery. Ie. we can switch to a helper thread and back, and still be
    faster than a *single* signal.

    signals are in essence 'lightweight' threads created and destroyed for the
    purpose of a single asynchronous event, it's IMO a very inefficient and
    baroque concept for almost anything (but debugging and a number of very
    special uses). I'd guess that with a sane threading library a helper
    thread is faster for almost everything.

    Ingo

    -
    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:27    [W:3.851 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site