[lkml]   [2003]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH] to support hookable flush_tlb* functions

    with this mail I send a patch that allows kernel modules to hook into the
    different flush_tlb* functions defined in <asm/tlbflush.h> or <asm/pgtable.h> in
    order to synchronize devices TLBs.

    This is necessary for devices that provide their own TLB and cannot participate
    on the CPU busses shootdown protocol. With this patch it is possible to assure
    TLB consistency.

    Currently this extension could possibly be used by high performance
    interconnects like QsNet from Quadrics (, and in the near
    future by even more high performance, low latency NICs that will implement
    direct user space DMA transfers to not pinned user pages. TLBs are there a
    mandatory requirement.

    Currently I am writing my diploma thesis about the development of such a device
    where I need this patch, and as it looks good to me I want to provide it to the
    public community so it can be reviewed and even more tested. (the i386 parts are
    tested work fine for me)

    The patch consists of two parts, one generic part and for each supported
    architecture an other part that depends on the generic one.

    Attached to this mail is only the generic part and the architecture dependend
    part for i386 compatible machines just not to waste everyones bandwidth... But
    if requested I can send you patches for the other architectures, too.

    The i386 patch also includes some cleanups by renaming __flush_tlb_* to

    I hope some time this patches will make it into the kernel sources. (perhaps
    even into 2.6.x ?)

    Sincerely yours

    Thomas Schlichter

    P.S.: To test this patch I've also written a module that counts the different
    flush_tlb* calls and shows them in /proc/tlbstat. If requested I could send you
    this, too.[unhandled content-type:application/octet-stream][unhandled content-type:application/octet-stream]
     \ /
      Last update: 2005-03-22 13:32    [W:0.020 / U:1.784 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site