Re: Memory mapped IO vs Port IO

Andi Kleen
2003-09-12T18:01:03Z

jbarnes@sgi.com (Jesse Barnes) writes:

> Ok, Andi asked for benchmarks, so I ran some. Let this should be a
> lesson on why you shouldn't use port I/O :) I ran these on an SGI Altix
> w/900 MHz McKinley processors.
>
> Just straight calls to the routines (all of these are based on the
> average of 100 iterations):
> writeq(val, reg) time: 64 cycles
> outl(val, reg) time: 2126 cycles
^^^^^
>
> A simple branch:
> if (use_mmio)
> writeq(val, reg) time: 132 cycles
> else
> outl(val, reg) time: 1990 cycles
^^^^^
Something seems to be wrong in your numbers.

Surely the outl in the if () cannot be faster than the pure outl() ?

-Andi