Re: AGP and PAT (induced?) problem (on AMD family 6)

From: Rene Herman
Date: Wed Aug 20 2008 - 17:16:20 EST


On 20-08-08 23:02, Dave Airlie wrote:

On Wed, Aug 20, 2008 at 8:50 PM, Rene Herman
<rene.herman@xxxxxxxxxxxx> wrote:
On 20-08-08 12:04, Ingo Molnar wrote:

* Venki Pallipadi <venkatesh.pallipadi@xxxxxxxxx> wrote:

I'd really like a reply from the AGP or PAT side right about
now.
Hmm. Looks like there are more than 16000 entries in the PAT
list!
hm, btw., why is that?
Because 64M of AGP memory divided by 4K pages is 16K. That is, the underlying problem seems to be AGP drivers using order 0
allocations. I'm looking.

[ ... ]

I haven't anything to add, I'm the maintainer not the author, all the
people who wrote the offending code were already involved.

The underlying problem is the order 0 allocations (agp_allocate_memory --> agp_generic_allocate_page) where each single page is set uncached individually, creating a PAT entry.

Non order 0 allocations generally would ofcourse help. That's very much AGP internal -- do you feel that's the way to go?

All the current AGP drivers except sgi-agp use agp_generic_alloc_page().

Doing a quick local hack to collect pages in agp_allocate_memory() into regions and set the regions (generally 1) UC in one fell swoop, but I don't know if that's safe (and it feels like a rather poor hack anyway).

(not to mention that it's time for bed again).

Rene.
--
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/