[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Pnet-developers] [patch #3119] jit_flush_exec () for x86
From: |
Rhys Weatherley |
Subject: |
Re: [Pnet-developers] [patch #3119] jit_flush_exec () for x86 |
Date: |
Wed, 9 Jun 2004 08:56:20 +1000 |
User-agent: |
KMail/1.4.3 |
On Tuesday 08 June 2004 10:06 pm, Miroslaw Dobrzanski-Neumann wrote:
> "The Pthreads standard requires library implementors to synchronize memory
> writes (with respect to reads and other writes) for a subset of Pthreads
> and POSIX.1 functions.
I think this only applies to reads/writes on the contents of the data cache on
the chip. Some CPU's have separate instructions for flushing the data cache
and the instruction cache (e.g. ppc).
The purpose of "jit_flush_exec" is to flush information out of the data cache,
invalidate the corresponding lines in the instruction cache (in case there
was something there already), and then force the CPU to reload the
instruction cache from what was just ejected from the data cache.
I had a quick look at the LinuxThreads code for ppc, and its memory flush
macro looks nothing like "jit_flush_exec". It's only affects the data cache
from what I can tell.
We are stuck with ugly assembly hacks for the duration, unfortunately.
Cheers,
Rhys.