[parisc-linux] 2.4.0-test6 lack of speed
Matthew Wilcox
matthew@wil.cx
Wed, 30 Aug 2000 01:17:52 +0100
On Tue, Aug 29, 2000 at 05:23:08PM -0400, Matthew Wilcox wrote:
> > Helge Deller wrote some code in drivers/net/lasi_82596.c that plays
> > with %sr1 and uses FDC, FIC, PDC, SYNC, and SYNCDMA.
> #define kernel_fdc(addr) asm volatile("fdc 0(%%sr0,%0)" : : "r" (addr))
>
> however, the resulting kernel wouldn't boot. So let's take this a
> step at a time and see how far we can go towards eliminating the *E
> variants. I've written a little rant on this suject which you can find
> in linux-2.3/Documentation/parisc/mm. feel free to ignore it if you want.
ok. we now have interfaces for flushing kernel dcache. I'm assuming
that no-one is intending to dma to/from an instruction page, so i
haven't included an icache variant. i'm not using sync or syncdma yet.
perhaps i should be. are we out-of-order right now or have we told the
MMU to strongly order our writes?
Anyway, would either of Richard or Helge like to look over the lasi_82596
driver and convert it to use the flush_kernel_dcache_range() interface
or tell me why my code is no good and I suck? Ditto the sim700 driver
actually. Are there any other drivers which have simply taken the
lasi_82596 wback code and replicated it or are these the only two?