Paul Gortmaker wrote:
>
> Jeff Garzik wrote:
>
> > On another topic completely, I want to start moving drivers over to
> > doing MMIO instead of PIO, where possibly, in 2.5.x. I am pretty sure
> > some if not most PCI NE2K clones can do MMIO. Any known NE2K MMIO
> > bugs? [again, this is 2.5.x material, so its not around the corner]
>
> I imagine this is one of those "dont know until you try it" type deals.
> I'd be disappointed if at least one of the clones didn't break in some
> mysterious and unexplainable way. ;-) IIRC, Donald recently mentioned
> something about one of the el-cheapo chipsets (not ne2k-pci) doing
> something strange when using MMIO - but I can't find the message now...
No doubt :) The weird wacky and wonderful world of PC hardware.
> You wouldn't be able to share an 8390.o anymore - I guess you would
> have to play the usual #undef games with inb etc. at the top of 8390.c
> then compile with -DUSE_MMIO and then bundle 8390.o with ne2k-pci.o
For the core module, I would prefer to do what pcnet_cs does -- provide
both PIO and MMIO support in the same binary. We can then have each
module do the standard -DUSE_MMIO thing, without having to worry about
conditional linking, or conditional compilation of an outside module.
(note - the above paragraph assumes that the ne logic can be split
cleanly into a separate ne_core.c...)
> Have to keep in mind that PCI ne2k clones still have an 8390 at their
> core - an SMP unfriendly chunk of history that is similar in vintage
> to other long forgotten relics like the 3c501. Given the above, is it
> really worth the grief of going MMIO? [Anyone that intentionally buys
> one of these for a SMP box or a server deserves a boot to the head IMHO]
MMIO does give you a bit of a performance boost, even if it is only to
card registers... I think mmio reads/writes are lighter weight even on
the older 386's and 486's too.
Jeff
--
Jeff Garzik | "When I do this, my computer freezes."
Building 1024 | -user
MandrakeSoft | "Don't do that."
| -level 1
|