[lkml]   [2005]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subjectx86 descriptor base fetching performance opportunities
    This is something I've just started investigating, but preliminary
    benchmarks of trial instruction sequences look VERY favorable for
    conditional compilation of different code for those CPU's that can do a
    BSWAP instruction.

    The Linux src appears not conditionalized in any way in its handling of
    descriptor get/set operations at the moment.

    The fetching of descriptor bases is a necessarily clumsy affair on 386
    resulting in several shift/rotate/masking operations because the upper 16
    bytes of the base are split in a rather un-handy way in the 2nd dword of a

    However, for 486 and better CPU's this un-handy layout looks like it can be
    mitigated by BSWAP. ex(pseudo-asm)

    movl 4(des_ptr),eax // Take hi-dword of descriptor
    rol 8,eax // AL=des-hi8, AH=des-hi-mid8
    bswap eax // Now, EAX high 16 == high 16 of descriptor
    movw 2(des_ptr),ax // Fill in the low 16 bits

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

     \ /
      Last update: 2005-06-17 15:35    [W:0.018 / U:1.708 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site