Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Jan 2002 16:19:22 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Kenneth Culver <culverk@yumyumyum.org>
Cc:        David Malone <dwmalone@maths.tcd.ie>, "Cameron, Frank" <Cameron@ctc.com>, "'freebsd-bugs@freebsd.org'" <freebsd-bugs@FreeBSD.ORG>, "'freebsd-current@freebsd.org'" <freebsd-current@FreeBSD.ORG>
Subject:   Re: AMD AGP Bug
Message-ID:  <3C59DF0A.8F850B66@mindspring.com>
References:  <20020131103927.A21783-100000@alpha.yumyumyum.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Kenneth Culver wrote:
> > There's actually a seperate TLB bug, but FreeBSD doesn't
> > trigger that one, either (Linux can tickle it, when there
> > are certain specific circumstances met).
>
> Well, I think I know what you're talking about, linux allocates agpgart
> memory without setting a "non-cacheable" bit, and then the agp card writes
> to that memory, but the cpu cached it already, which makes the cache wrong
> or something like that, and causes the crashes/hangs. I know this is a
> greatly simplified version of the real problem, but I think this is a
> linux bug not necesarily an amd bug.

No, you are describing the coherency bug in the chipset
used for the AGP with AMD processors, which should enforce
a coherency cycle, and cache invalidation for AGP based
writes of the shared memory region.  They are treating it
as if it were non-cacheable dual ported SDRAM.

There *really* is a bug in P4 and above and in late model
AMD chips with 4M pages.  It is very easy to reproduce with
a few small kernel modifications (to actively use 4M pages)
and 256M-512M of RAM.

I'll characterize it further and provide the software
workaround, for $10,000.  It's about 16 machine instructions,
if you write it out as code.

Meanwhile, Linux and Windows can keep turning off the PSE,
and losing 4-14% of their performance, depending on their
application.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3C59DF0A.8F850B66>