Re: 2.2.15 with eepro100: eth0: Too much work at interrupt

From: Dragan Stancevic (visitor@valinux.com)
Date: Mon May 22 2000 - 19:40:01 EDT

  • Next message: Andre Hedrick: "Re: [RFC] Linux Kernel Benchmark Suite"

    On Fri, May 19, 2000, Jeff Garzik <jgarzik@mandrakesoft.com> wrote:
    ; Andrey Savochkin wrote:
    ;
    ; Think about what Donald is doing, and remember that inw() is not really
    ; inw() here!
    ;
    ; Remember first that eepro100 is generally MMIO, so you the following is
    ; in effect:
    ; #define inw writew
    ;
    ; So, by replacing the udelay() with writew(), Donald not only introduces
    ; a small delay, but also posts any pending PCI writes. That may be
    ; important, may be nothing...
    ;
    ; In any case, if you were thinking about it, I wouldn't blindly replace
    ; writew() with udelay() or anything like that -- leave the writew() in
    ; there, and add an additional udelay() if the circumstances call for it.
    ; Excluding the writew() increases the potential for seeming EEPROM code
    ; flakiness, because few drivers have thus far been completely audited,
    ; updated, and tested for correct MMIO flush semantics.

    I think that inw there is just for timing purposes since the
    card/eeprom specification doesnt require anything else than a delay.

    I don't think using inw for timing is a good idea especially
    now that the driver tries to use MMIO and inw is redefined in the
    driver to use memory instead of io ports, the timing frequency
    changes so you might not satisfy the minimal clock frequency
    specification.

    -- 
    

    -Dragan

    - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Mon May 22 2000 - 19:41:55 EDT