Messages in this thread Patch in this message | | | From | Arkadiusz Miskiewicz <> | Subject | Re: 2.6.29 git master and PAT problems | Date | Tue, 31 Mar 2009 09:44:32 +0200 |
| |
On Tuesday 31 of March 2009, Pallipadi, Venkatesh wrote: > On Mon, Mar 30, 2009 at 04:25:11PM -0700, Arkadiusz Miskiewicz wrote: > > On Tuesday 31 of March 2009, Arkadiusz Miskiewicz wrote: > > > On Monday 30 of March 2009, Pallipadi, Venkatesh wrote: > > > > > > More info follows. Now I've switched to > > > e1c502482853f84606928f5a2f2eb6da1993cda1 which contains latest drm > > > fixes and now I get much lower numbers of PAT errors but still. > > > > Also when I switch t400 into discrete mode (radeon hd 3400 instead > > of integrated intel GM45) I get such errors (probably unrelated > > to these seen when using intel): > > > > [ 419.187657] X:10550 conflicting memory types cfff0000-d0000000 > > uncached<->uncached-minus [ 419.187670] reserve_memtype failed > > 0xcfff0000-0xd0000000, track uncached, req write-back [ 419.553914] > > X:10550 conflicting memory types cfff0000-d0000000 > > uncached<->uncached-minus [ 419.553923] reserve_memtype failed > > 0xcfff0000-0xd0000000, track uncached, req write-back [ 419.813592] > > X:10550 conflicting memory types cfff0000-d0000000 > > uncached<->uncached-minus [ 419.813601] reserve_memtype failed > > 0xcfff0000-0xd0000000, track uncached, req write-back [ 420.100102] > > X:10550 conflicting memory types cfff0000-d0000000 > > uncached<->uncached-minus [ 420.100111] reserve_memtype failed > > 0xcfff0000-0xd0000000, track uncached, req write-back > > Yes. This is a different problem than the freeing invalid type one. Are > these errors also with latest git kernel? Can you try the patch below > (which is a part of a bigger cleanup patch I have lined up).
It's a latest git kernel as of today morning (latest commit is 15f7176eb1cccec0a332541285ee752b935c1c85) + your patch. Problem persists:
[ 74.696353] [drm] Setting GART location based on new memory map [ 74.711520] [drm] Loading RV620 CP Microcode [ 74.711792] [drm] Loading RV620 PFP Microcode [ 74.726719] [drm] Resetting GPU [ 74.726776] [drm] writeback test succeeded in 1 usecs [ 75.256034] X:5366 conflicting memory types d0000000-e0000000 uncached-minus<->write-combining [ 75.256043] reserve_memtype failed 0xd0000000-0xe0000000, track uncached-minus, req write-back [ 75.849951] X:5366 conflicting memory types d0000000-e0000000 uncached-minus<->write-combining [ 75.849960] reserve_memtype failed 0xd0000000-0xe0000000, track uncached-minus, req write-back [ 76.054374] X:5366 conflicting memory types d0000000-e0000000 uncached-minus<->write-combining [ 76.054377] reserve_memtype failed 0xd0000000-0xe0000000, track uncached-minus, req write-back [ 76.074481] X:5378 freeing invalid memtype d0000000-e0000000 [ 76.176881] X:5366 conflicting memory types d0000000-e0000000 uncached-minus<->write-combining [ 76.176885] reserve_memtype failed 0xd0000000-0xe0000000, track uncached-minus, req write-back [ 76.207734] X:5380 freeing invalid memtype d0000000-e0000000
cat /debug/x86/pat_memtype_list PAT memtype list: uncached-minus @ 0xbfad1000-0xbfad2000 uncached-minus @ 0xbfad2000-0xbfad3000 uncached-minus @ 0xbfad3000-0xbfad4000 uncached-minus @ 0xbfb06000-0xbfb07000 uncached-minus @ 0xbfb07000-0xbfb08000 uncached-minus @ 0xbfd6a000-0xbfd6b000 uncached-minus @ 0xbfd6a000-0xbfd6b000 uncached-minus @ 0xbfd6a000-0xbfd7a000 uncached-minus @ 0xbfd79000-0xbfd7a000 uncached-minus @ 0xbfd79000-0xbfd7a000 uncached-minus @ 0xbfd79000-0xbfd7a000 uncached-minus @ 0xbfd79000-0xbfd7a000 uncached-minus @ 0xbfd79000-0xbfd7a000 uncached-minus @ 0xbfd79000-0xbfd7a000 uncached-minus @ 0xbfd79000-0xbfd7a000 uncached-minus @ 0xbfd7b000-0xbfd7c000 uncached-minus @ 0xbfd8d000-0xbfd8e000 uncached-minus @ 0xbfd8e000-0xbfd8f000 uncached-minus @ 0xbfd8e000-0xbfd8f000 uncached-minus @ 0xcfff0000-0xd0000000 uncached-minus @ 0xcfff0000-0xd0000000 uncached-minus @ 0xcfff0000-0xd0000000 uncached-minus @ 0xcfff0000-0xd0000000 uncached-minus @ 0xcfff0000-0xd0000000 write-combining @ 0xdfff0000-0xe0000000 uncached-minus @ 0xe0000000-0xe4000000 uncached-minus @ 0xf4200000-0xf4202000 uncached-minus @ 0xf4300000-0xf4301000 uncached-minus @ 0xf4301000-0xf4302000 uncached-minus @ 0xf4301000-0xf4302000 uncached-minus @ 0xfc200000-0xfc220000 uncached-minus @ 0xfc220000-0xfc224000 uncached-minus @ 0xfc225000-0xfc226000 uncached-minus @ 0xfc226000-0xfc227000 uncached-minus @ 0xfc226000-0xfc227000 uncached-minus @ 0xfc227000-0xfc228000 uncached-minus @ 0xfed00000-0xfed01000 uncached-minus @ 0xfed1f000-0xfed20000 cat /proc/mtrr reg00: base=0x13c000000 ( 5056MB), size= 64MB, count=1: uncachable reg01: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back reg02: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back reg03: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back reg04: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: write-combining
> > Thanks, > Venki > > From: Suresh Siddha <suresh.b.siddha@intel.com> > > Fix pat_x_mtrr_type() to use UC_MINUS when the mtrr type return UC. This > is to be consistent with ioremap() and ioremap_nocache() which uses > UC_MINUS. > > Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> > Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> > --- > arch/x86/mm/ioremap.c | 3 ++- > arch/x86/mm/pat.c | 35 +++++++++++++---------------------- > 2 files changed, 15 insertions(+), 23 deletions(-) > > diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c > index 1fca82b..e07da24 100644 > --- a/arch/x86/mm/pat.c > +++ b/arch/x86/mm/pat.c > @@ -182,10 +182,10 @@ static unsigned long pat_x_mtrr_type(u64 start, u64 > end, unsigned long req_type) u8 mtrr_type; > > mtrr_type = mtrr_type_lookup(start, end); > - if (mtrr_type == MTRR_TYPE_UNCACHABLE) > - return _PAGE_CACHE_UC; > - if (mtrr_type == MTRR_TYPE_WRCOMB) > - return _PAGE_CACHE_WC; > + if (mtrr_type != MTRR_TYPE_WRBACK) > + return _PAGE_CACHE_UC_MINUS; > + > + return _PAGE_CACHE_WB; > } > > return req_type;
-- Arkadiusz Miśkiewicz PLD/Linux Team arekm / maven.pl http://ftp.pld-linux.org/
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |