From: ebiederm@xmission.com (Eric W. Biederman)
To: richard.brunner@amd.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: another new version of pageattr caching conflict fix for 2.4
Date: 18 Jun 2002 11:34:45 -0600 [thread overview]
Message-ID: <m1lm9ctrre.fsf@frodo.biederman.org> (raw)
In-Reply-To: <39073472CFF4D111A5AB00805F9FE4B609BA6712@txexmta9.amd.com>
richard.brunner@amd.com writes:
> Making the AGP Aperture write-back cacheable is not good from
> a performance perspective. (I can't comment on which is better
> from a Linux Kernel perspective).
Mainly I was arguing from.
- Make the common case fast.
- The common case is write-back.
- AGP is not the common case.
- AGP has performance limitations.
>From the kernel side, the caching attributes don't particularly matter
because physical aliasing is introduced, with the AGP aperture. So
the cache coherency protocols cannot make our lives simpler.
> An Aperture Page can be made
> cache-coherent depending on the implementation
> and the AGP 3.0 spec provides an
> architectural way of specifying and controlling these as
> well. But, by default the area is not made cache-coherent
> due to the performance loss and the lack of software to take
> advantage of it -- the two play off against each
> other.
Cache coherency is tricky, so there is some argument there.
> Making it cache-coherent causes every AGP access to
> snoop processor caches and this can be quite a hit in
> performance when you consider the predominant AGP software
> model. Most software that takes advantage of AGP is still
> using the old Intel model of uncacheable, the majority of
> data placed in the Aperture are read-only structures for the
> AGP device -- such as vertex lists, locked vertex arrays,
> and texture data. For the most part this fits the current
> paradigm of throwing textures and vertices at the graphics
> device. The only graphics area found so far that could
> benefit from a coherent aperture is video capture data which
> streams in from the graphics device and requires CPU
> post-processing.
I hadn't thought of the snooping from the AGP side, but even then given
that the AGP aperture is a fixed region it would probably work to just
have a fixed snoop on the AGP region, and only do something when AGP
traffic comes in. Though I will buy the argument it may not be
possible to do it at full performance unless the AGP card knows
something about cache coherency. Though mostly I suspect it is a cost
tradeoff issue.
If the area is purely uncacheable, then writing to that area cannot go
at full memory speed. So we should at the very least mark the region
as write-combining. This should be get the cpu putting data in there
at about 1400MB/s with PC2100, and moving data there just short of
2100MB/s. This doesn't help directly AGP performance, but it does
allow the cpu to spend it's cycles on more important things, much
sooner.
I don't believe there is a memory caching attribute that would get the
data copy from the AGP aperture sped up except write-back. Which is
where I guess video capture comes in.
Eric
next prev parent reply other threads:[~2002-06-18 17:44 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-17 21:07 another new version of pageattr caching conflict fix for 2.4 richard.brunner
2002-06-18 17:34 ` Eric W. Biederman [this message]
2002-06-26 1:37 ` another new version of pageattr caching conflict fix for Albert D. Cahalan
-- strict thread matches above, loose matches on Subject: below --
2002-06-17 21:13 another new version of pageattr caching conflict fix for 2.4 richard.brunner
2002-06-13 20:15 New " Andi Kleen
2002-06-14 1:03 ` Benjamin LaHaise
2002-06-14 1:24 ` Andi Kleen
2002-06-14 1:37 ` Benjamin LaHaise
2002-06-14 4:00 ` Andrea Arcangeli
2002-06-14 4:17 ` Benjamin LaHaise
2002-06-14 4:27 ` Andi Kleen
2002-06-14 15:28 ` Benjamin LaHaise
2002-06-14 16:13 ` Andi Kleen
2002-06-14 17:31 ` Andrea Arcangeli
2002-06-14 18:05 ` another new " Andi Kleen
2002-06-16 10:08 ` Eric W. Biederman
2002-06-16 16:48 ` Andi Kleen
2002-06-16 17:50 ` Eric W. Biederman
2002-06-16 18:43 ` Andi Kleen
2002-06-16 19:56 ` Eric W. Biederman
2002-06-16 23:37 ` Andi Kleen
2002-06-17 0:08 ` Albert D. Cahalan
2002-06-17 4:06 ` Eric W. Biederman
2002-06-17 6:53 ` Andrea Arcangeli
2002-06-17 15:46 ` Eric W. Biederman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m1lm9ctrre.fsf@frodo.biederman.org \
--to=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=richard.brunner@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox