From: Rene Herman <rene.herman@keyaccess.nl>
To: Dave Airlie <airlied@gmail.com>
Cc: Shaohua Li <shaohua.li@intel.com>,
Yinghai Lu <yhlu.kernel@gmail.com>,
Andreas Herrmann <andreas.herrmann3@amd.com>,
Arjan van de Ven <arjan@infradead.org>,
dri-users@lists.sourceforge.net,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: AGP and PAT (induced?) problem (on AMD family 6)
Date: Mon, 04 Aug 2008 18:30:32 +0200 [thread overview]
Message-ID: <48972EA8.8040001@keyaccess.nl> (raw)
Hi Dave.
A while ago I sent a message about long AGP delays upon starting and
exiting X:
http://marc.info/?l=linux-kernel&m=121647129632110&w=2
There was no reply (if that was due to the linux.ie address, could you
perhaps update it in MAINTAINERS?) but today Shaohua Li posted a patch
that made me wonder about PAT in this context:
http://marc.info/?l=linux-kernel&m=121783222306075&w=2
http://marc.info/?l=linux-kernel&m=121783222406078&w=2
http://marc.info/?l=linux-kernel&m=121783222406081&w=2
His patch does not solve anything appreciable for me -- the delays are
still as described in that previous post, with an exception for (with
Option "AGSize" "64") delays upon exiting X that are now sometimes as
bad as a full 12 seconds.
What _does_ solve this though is booting with the "nopat" command line
parameter. I'm on 2.6.26.1 and have enabled PAT for my AMD Duron myself.
With "nopat", there's no problem to be seen anymore -- exiting X
specifically is instantaneous.
With or without PAT, my /proc/mtrr is always:
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
reg01: base=0x20000000 ( 512MB), size= 256MB: write-back, count=1
reg02: base=0xe8000000 (3712MB), size= 64MB: write-combining, count=1
under X joined by:
reg03: base=0xe4000000 (3648MB), size= 32MB: write-combining, count=2
This is a machine with 768M, the AGP aperture set to 64MB and a 32MB
Matrox Millenium G550 AGP card. More detail in previous post.
Is this something inherent to PAT? Inherent to PAT on AMD family 6?
Inherent to DRM/AGP with PAT? On AMD family 6?
This is probably fairly important to get sorted because although I don't
know what's where at the moment, last I saw was a patch in x86/tip that
enabled PAT on many more models including all of AMD.
For reference, /proc/cpuinfo:
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 7
model name : AMD Duron(tm) Processor
stepping : 1
cpu MHz : 1313.094
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 2628.89
clflush size : 32
power management: ts
and the PAT enabler patch that I apply locally to 2.6.26:
diff --git a/arch/x86/kernel/cpu/addon_cpuid_features.c
b/arch/x86/kernel/cpu/addon_cpuid_features.c
index c2e1ce3..8992282 100644
--- a/arch/x86/kernel/cpu/addon_cpuid_features.c
+++ b/arch/x86/kernel/cpu/addon_cpuid_features.c
@@ -55,7 +55,7 @@ void __cpuinit validate_pat_support(struct cpuinfo_x86 *c)
{
switch (c->x86_vendor) {
case X86_VENDOR_AMD:
- if (c->x86 >= 0xf && c->x86 <= 0x11)
+ if (c->x86 == 6 || c->x86 >= 0xf)
return;
break;
case X86_VENDOR_INTEL:
Rene.
next reply other threads:[~2008-08-04 16:30 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-04 16:30 Rene Herman [this message]
2008-08-06 13:51 ` AGP and PAT (induced?) problem (on AMD family 6) Andreas Herrmann
2008-08-06 20:57 ` Rene Herman
2008-08-11 9:46 ` Rene Herman
2008-08-15 14:22 ` Ingo Molnar
2008-08-15 15:24 ` Rene Herman
2008-08-19 10:11 ` Rene Herman
2008-08-19 10:26 ` Ingo Molnar
2008-08-19 14:19 ` Rene Herman
2008-08-19 19:07 ` Venki Pallipadi
2008-08-19 19:22 ` Rene Herman
2008-08-19 23:28 ` Venki Pallipadi
2008-08-20 10:09 ` Ingo Molnar
2008-08-20 10:04 ` Ingo Molnar
2008-08-20 10:50 ` Rene Herman
2008-08-20 14:27 ` Rene Herman
2008-08-20 19:41 ` Venki Pallipadi
2008-08-20 21:40 ` Rene Herman
2008-08-20 21:46 ` Dave Airlie
2008-08-20 22:16 ` Venki Pallipadi
2008-08-21 3:42 ` Andi Kleen
2008-08-21 21:13 ` Suresh Siddha
2008-08-22 2:12 ` Andi Kleen
2008-08-21 12:06 ` Ingo Molnar
2008-08-21 17:15 ` Rene Herman
2008-08-21 22:10 ` [PATCH] x86: {reverve,free}_memtype() take a physical address Rene Herman
2008-08-21 22:16 ` Pallipadi, Venkatesh
2008-08-21 22:26 ` Rene Herman
2008-08-21 22:57 ` Pallipadi, Venkatesh
2008-08-21 23:06 ` Rene Herman
2008-08-21 23:02 ` [PATCH] x86: have set_memory_array_{uc,wb} coalesce memtypes Rene Herman
2008-08-22 4:15 ` Ingo Molnar
2008-08-22 19:08 ` Venki Pallipadi
2008-08-22 20:15 ` Rene Herman
2008-08-23 15:33 ` Ingo Molnar
2008-08-22 20:02 ` Rene Herman
2008-09-10 19:52 ` AGP PAT issue Rene Herman
2008-09-11 8:17 ` Ingo Molnar
2008-09-11 8:30 ` Rene Herman
2008-09-13 0:26 ` Pallipadi, Venkatesh
2008-09-13 0:44 ` Rene Herman
2008-10-09 15:53 ` Thomas Hellstrom
2008-10-13 17:10 ` Pallipadi, Venkatesh
2008-10-13 19:26 ` Thomas Hellström
2008-08-20 21:02 ` AGP and PAT (induced?) problem (on AMD family 6) Dave Airlie
2008-08-20 21:16 ` Rene Herman
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=48972EA8.8040001@keyaccess.nl \
--to=rene.herman@keyaccess.nl \
--cc=airlied@gmail.com \
--cc=andreas.herrmann3@amd.com \
--cc=arjan@infradead.org \
--cc=dri-users@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=shaohua.li@intel.com \
--cc=yhlu.kernel@gmail.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