Messages in this thread | | | Date | Fri, 26 Jun 2009 10:00:32 +1000 | Subject | Re: TTM page pool allocator | From | Dave Airlie <> |
| |
On Thu, Jun 25, 2009 at 10:01 PM, Jerome Glisse<glisse@freedesktop.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.
| |