[Mono-dev] [PATCH]: Improve sparc I-cache flushing under Linux.
vargaz at gmail.com
Wed Nov 7 10:18:43 EST 2007
Sorry I forgot about those. They look ok, I will check them in after we branch
On 11/7/07, David Miller <davem at davemloft.net> wrote:
> From: David Miller <davem at davemloft.net>
> Date: Sat, 03 Nov 2007 16:21:16 -0700 (PDT)
> > On every UltraSPARC chip, it is sufficient to only flush
> > every 32-byte cache line.
> > As a future enhancement, if Niagara cpus are detected we can only
> > perform one flush instruction. On Niagara the flush address is
> > completely ignored and the flush is only needed to synchronize the cpu
> > pipeline with previous stores.
> > I left the Solaris code as it is, calling sync_instruction_memory().
> > However, disassembling a test program shows that Solaris does not
> > optimize it properly and flushes every 8 bytes like the old code here
> > did.
> > I think it would be safe to have the Solaris case use the same code as
> > Linux so that both sides would get the performance improvement.
> > 2007-11-03 David S. Miller <davem at huronp11.davemloft.net>
> > * mini-sparc.c (mono_arch_flush_icache): Make more efficient
> > under Linux. We only need to flush every 32-byte cache line.
More information about the Mono-devel-list