[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1246024775.2371.0.camel@localhost>
Date: Fri, 26 Jun 2009 15:59:35 +0200
From: Jerome Glisse <glisse@...edesktop.org>
To: Dave Airlie <airlied@...il.com>
Cc: thomas@...pmail.org, linux-kernel@...r.kernel.org,
dri-devel@...ts.sf.net
Subject: Re: TTM page pool allocator
On Fri, 2009-06-26 at 10:00 +1000, Dave Airlie wrote:
> On Thu, Jun 25, 2009 at 10:01 PM, Jerome Glisse<glisse@...edesktop.org> wrote:
> > Hi,
> >
> > Thomas i attach a reworked page pool allocator based on Dave works,
> > this one should be ok with ttm cache status tracking. It definitely
> > helps on AGP system, now the bottleneck is in mesa vertex's dma
> > allocation.
> >
>
> My original version kept a list of wb pages as well, this proved to be
> quite a useful
> optimisation on my test systems when I implemented it, without it I
> was spending ~20%
> of my CPU in getting free pages, granted I always used WB pages on
> PCIE/IGP systems.
>
> Another optimisation I made at the time was around the populate call,
> (not sure if this
> is what still happens):
>
> Allocate a 64K local BO for DMA object.
> Write into the first 5 pages from userspace - get WB pages.
> Bind to GART, swap those 5 pages to WC + flush.
> Then populate the rest with WC pages from the list.
>
> Granted I think allocating WC in the first place from the pool might
> work just as well since most of the DMA buffers are write only.
>
> Dave.
> --
Attached a new version of the patch, which integrate changes discussed.
Cheers,
Jerome
View attachment "0001-ttm-add-pool-wc-uc-page-allocator.patch" of type "text/x-patch" (17579 bytes)
Powered by blists - more mailing lists