On Thu, Jan 31, 2002 at 09:32:48PM +0100, Gérard Roudier wrote:
> On Thu, 31 Jan 2002, Jason Evans wrote:
> > On Wed, Jan 30, 2002 at 11:14:48PM +0100, Gérard Roudier wrote:
> > >
> > > Linux can be fixed, but the useless writes of the existing Athlons from
> > > the very fast cache to the relatively very slow memory cannot. And all
> > > Athlon users may well pay this penalty under any OS... unless we want to
> > > disable caching. :)
> > Have you done benchmarks to show that the speculative writes are useless
> > often enough to cause enough memory bus contention that overall performance
> > is degraded, despite the speedups when the speculative writes are valid?
> I haven't done any benchmark of this sort, neither intend to do any since
> I haven't time for that. But I wrote in my email that my 2 Athlon systems
> worked fine and fast, just to indicate that for normal use I didn't see
> any performance problem at all.
> > I
> > suspect that AMD in fact performed such tests; otherwise they wouldn't have
> > gone to the trouble of implementing speculative writes.
> The Athlon rewriting same value to cacheable memory under the knees of
> programmers looks a severe issue to me if it is true. Not only AGP memory
> can be affected. What about SMP, MMIO (if some cacheable mapping exists),
I am not familiar with the acronym MMIO is so I can't comment on that.
In general though, having memoryspace used for memory-mapped I/O
devices (including AGP) marked as cacheable is a bad idea unless you
are very careful and know exactly what you are doing.
For SMP it shouldn't be any problem. Multi-CPU systems normally
run some cache-coherence protocol between themselves to make sure that
things like this is not a problem.
> In my opinion, OSes having some cacheable mapping to AGP memory is not the
> real problem. Just it has revealed the AMD issue.
It might be argued that there should be some cache-coherence protocol
between the CPU and the AGP device. Not knowing how AGP is specified I
don't know if this interaction between the CPU and AGP is a bug or just
working as specified. I suspect it is the latter though.
<Insert your favourite quote here.>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message