Re: AGP and PAT (induced?) problem (on AMD family 6)
Rene Herman <[email protected]> Wed, 20 Aug 2008 23:16:56 +0200
| Newsgroups | gmane.comp.video.dri.user,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
On 20-08-08 23:02, Dave Airlie wrote: > On Wed, Aug 20, 2008 at 8:50 PM, Rene Herman > <[email protected]> wrote: >> On 20-08-08 12:04, Ingo Molnar wrote: >> >>> * Venki Pallipadi <[email protected]> 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. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ --