Re: Unable to continue testing of 2.6.25

From: Arjan van de Ven
Date: Mon Feb 18 2008 - 13:33:39 EST


On Mon, 18 Feb 2008 19:52:28 +0100
Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

> > I've yet to see a user who wants WC. Lets face it, WC *sucks*. This
> > is why
>
> Interesting.
>
> > the folks who care about performance (the graphics guys) stopped
> > using it.
>
> I didn't know this. What do they do instead?

they use a cached mapping and use clflush for the cases they want to be sure
the GPU sees the data. This turns out to be faster than WC.
(think "double to tripple digit percentage")


> I understand that WC was added originally because AGP was really slow
> at IO towards the CPU. You mean on PCI-E it is fast enough now
> that standard cached WB works well enough?

since then the graphics programming paradigm has changed as well;
WC is really bad for reading data no matter what; it focuses on group writes
so that you don't get one transaction per write, but reads are extremely slow.
And apparently in the current graphics systems (with "composite" and the like)
all of this stuff doesn't get used anymore. Instead they use cached mappings,
acceleration engines etc.

>
> > WC is slow, and on modern cpus leads to really bad performance. I'm
> > really half tempted to just ignore WC entirely and suggest that we
> > don't even implement it in the kernel. Yes it's really that bad.
>
> At least the X server still uses it.

depends on which driver. The new generation Intel graphics ones don't.
I doubt the proprietary ones do either, those are even more performance tuned.
I understand that the radeon driver is doing or going to do something similar to the
Intel driver as well.

>
> What would you recommend should the X server use instead? Always
> map standard WB? How about on older AGP systems?
>

the X drivers need to do what is best; the ones with acceleration use WB nowadays.
(For the Intel driver that is somewhat recent, so it could be that your distro
doesn't do that yet).



--
If you want to reach me at my work email, use arjan@xxxxxxxxxxxxxxx
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/