Re: Memory mapped IO vs Port IO

Tim Hockin
2003-09-12T18:28:09Z

On Fri, Sep 12, 2003 at 08:00:03PM +0200, Andi Kleen wrote:
> 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() ?

Also - a perhaps more useful test is a write followed by a read.

--
Notice that as computers are becoming easier and easier to use,
suddenly there's a big market for "Dummies" books. Cause and effect,
or merely an ironic juxtaposition of unrelated facts?