[lkml]   [2000]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: 2.2.18Pre Lan Performance Rocks!

    On Tue, 31 Oct 2000, Jeff V. Merkey wrote:

    > One more optimization it has. NetWare never "calls" functions in the
    > kernel. There's a template of register assignments in between kernel
    > modules that's very strict (esi contains a WTD head, edi has the target
    > thread, etc.) and all function calls are jumps in a linear space.

    this might be a win on a i486, but is a loss with any branch predicting,
    large-pipeline CPUs (think Pentium IV), which are optimized for CALLs, not
    for JMP *EAX instructions. This is the problem with assembly optimizations
    that try to compete with the compiler's work: hand-made assembly can only
    get worse over time (stay constant in the best case), while compilers are
    known to improve slowly but steadily. Plus hand-made assembly is a huge
    stone tied to your legs if you try to swim to other architectures. Eg. we
    quite often make use of GCC's register-based function parameter passing
    optimization. We do use hand-made assembly in a number of cases in Linux
    as well, and double-check GCC's assembly output in critical code paths,
    but we try to not make it an essential facility.


    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 12:45    [W:0.024 / U:11.528 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site