Re: [PATCH] ttm: add pool wc/uc page allocator

From: Michel Dänzer
Date: Sat Jul 18 2009 - 11:32:20 EST


On Fri, 2009-07-17 at 16:55 +0200, Jerome Glisse wrote:
> On Fri, 2009-07-17 at 10:01 +0200, Michel DÃnzer wrote:
> > On Thu, 2009-07-16 at 18:34 +0200, Jerome Glisse wrote:
> > > On Thu, 2009-07-16 at 18:13 +0200, Jerome Glisse wrote:
> > > > On AGP system we might allocate/free routinely uncached or wc memory,
> > > > changing page from cached (wb) to uc or wc is very expensive and involves
> > > > a lot of flushing. To improve performance this allocator use a pool
> > > > of uc,wc pages.
> > > >
> > > > Currently each pool (wc, uc) is 256 pages big, improvement would be
> > > > to tweak this according to memory pressure so we can give back memory
> > > > to system.
> > > >
> > > > Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
> > > > Signed-off-by: Jerome Glisse <jglisse@xxxxxxxxxx>
> > >
> > > Just a follow-up on that one, i haven't been able yet to thoroughly
> > > test this patch on AGP system, so i am mostly sending so other people
> > > can test. I think i corrected few bugs that were in previous iteration
> > > of that patch.
> > >
> > > Beside that i think i have addressed all comment previously raisen,
> > > but don't hesitate to pin point any things i have miss.
> >
> > This one works a little better on my PowerBook than the previous one:
> >
> > PCI GART works (failed to allocate the ring buffer before)
> > AGP fails to allocate the ring buffer (paniced at KMS init before)
> >
>
> Attached a new version which more or less work on x86 agp (i have
> screen corruption haven't tracked done what is causing it yet).
> I corrected more bugs from previous version, hopefully i am getting
> closer to somethings which works.

This one seems to match the behaviour you described on IRC: It works
with AGP but there's lots of visual corruption in X (OpenGL seems mostly
fine).


--
Earthling Michel DÃnzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
--
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/