Caches and DMA with PPro

Bob Felderman (feldy@myri.com)
Mon, 15 Apr 96 12:21:35 PDT


I'm running 1.3.88 on a Micron 180MHz PentiumPro machine.
It appears that our network board is DMAing stale data
when transmitting a packet and/or the host is reading stale
data after a pakcet is received.

I've looked at the flush_cache_xxx() code in pgtable.h and it
has the following code.

/* Caches aren't brain-dead on the intel. */
#define flush_cache_all() do { } while (0)
#define flush_cache_mm(mm) do { } while (0)
#define flush_cache_range(mm, start, end) do { } while (0)
#define flush_cache_page(vma, vmaddr) do { } while (0)

I've tried disabling the caches from the BIOS setup, but the
performance of the system and the behavior is unchanged, so I
suspect the BIOS isn't really turning off the caches.

This is with a network card that is doing DMA on the PCI
bus. Have others found that other networking cards work
fine on the PPro with linux-1.3.xx?

Bob