[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: XFree 4.1



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.

Richard



Reply to: