On Thu, Jan 09, 2003 at 03:37:16PM +0100, Richard Zidlicky wrote: > On Wed, Jan 08, 2003 at 09:34:40PM +0000, Alan Hourihane wrote: > > > It's only the instruction cache we need to flush. Not the whole cache. > > I notice in asm-m68k/pgalloc.h there's a specific flush_icache() macro > > to do just that. > > all cacheflush instructions are priviliged. There is a little trick > to force datacache flush without a syscall using the move16 insn, this > would however work on 68040/060 only and doesn't solve the issue with > the program cache. > > > There are only two relocations used in the loader for m68k at the moment, > > and I doubt it's going to be a massive performance hit. But having a > > working loader is a step in the right direction even if it is slower. > > We can work out how to speed it up later. > > it is slow enough even without the loader. Every sort of relocation > is likely to slow down program startup drastically, this is because > the relocation does force a tremendeous lot of pages to be paged in > just to fix the relocation address - in many cases those pages aren't > ever touched again. Effectively this defeats demand paging, the > additional cacheflush is just the tip of the iceberg and perhaps even > irelevant compared to the time spent with paging. > > It would be certainly good to have the module loader, but for the > average m68k user this is of no benefit and so I think m68k should > default to statically linked Xserver.
Your loosing a lot of configurability without the loader. If no one is interested here, I hope to get time to poke at this some more. Unfortunately I only have a WarpEngine 4040 which nicely does the cache flushing for me and so the loader works regardless for me. Alan.

