All of lore.kernel.org
 help / color / mirror / Atom feed
* ttm: merge ttm_backend & ttm_tt, introduce ttm dma allocator
@ 2011-11-09 20:22 j.glisse
  2011-11-09 20:22 ` [PATCH 01/13] drm/ttm: remove userspace backed ttm object support j.glisse
                   ` (13 more replies)
  0 siblings, 14 replies; 28+ messages in thread
From: j.glisse @ 2011-11-09 20:22 UTC (permalink / raw)
  To: dri-devel; +Cc: thellstrom

So i did an overhaul of ttm_memory, i believe the simplification i did
make sense. See patch 5 for a longer explanation.

Thomas with the ttm_memory change the allocation of pages won't happen
if the accounting report that we are going over the limit and bo shrinker
failed to free any memory to make room.

The handling of dma32 zone is done as post pass of ttm memory accounting.

Regarding the pagefault comment i removed, it doesn't make sense anymore
because now we populate the whole page table in one shot. So there is
no more prefaulting few pages but a full prefaulting. Thought i can
add a comment stating that if you like.

For the ttm_tt_dma struct to hold page allocator specific informations
i think it can be done as an followup patch but if you prefer to have
that in this patchset let me know i will respin with such changes.

I am in the process of retesting this whole serie and especialy the
while memory accounting.

Cheers,
Jerome

^ permalink raw reply	[flat|nested] 28+ messages in thread
* ttm: merge ttm_backend & ttm_tt, introduce ttm dma allocator
@ 2011-11-03 23:39 j.glisse
  2011-11-07 17:50 ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 28+ messages in thread
From: j.glisse @ 2011-11-03 23:39 UTC (permalink / raw)
  To: dri-devel; +Cc: thellstrom

Hi,

So updated patchset, only patch 5 seen change since last set.
Last 3 patch are from your patchset, modified on top of mine.

Konrad so i added you dma pool allocator on top of that
and added support for it to radeon. All in all it's slightly
smaller than your patchset.

Biggest change is use of a list_head in ttm_tt to keep the
dma_page list inside the ttm_tt object allowing faster and
lot simpler deallocation of page.

I only briefly test this code, it seems ok so far. Did you
tested booting kernel with swiotlb=force and with your patchset ?
Because here it doesn't work. I still don't understand why
swiotlb want to create a bounce page when the page supplied
fit the constraint. Need to dig into kernel history to see if
there is any good reasons for that.

Otherwise i believe this whole patchset make things cleaner
and simpler for ttm.

Cheers,
Jerome Glisse

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2011-11-11 17:11 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-09 20:22 ttm: merge ttm_backend & ttm_tt, introduce ttm dma allocator j.glisse
2011-11-09 20:22 ` [PATCH 01/13] drm/ttm: remove userspace backed ttm object support j.glisse
2011-11-09 20:22 ` [PATCH 02/13] drm/ttm: remove split btw highmen and lowmem page j.glisse
2011-11-09 20:22 ` [PATCH 03/13] drm/ttm: remove unused backend flags field j.glisse
2011-11-09 20:22 ` [PATCH 04/13] drm/ttm: use ttm put pages function to properly restore cache attribute j.glisse
2011-11-09 20:22 ` [PATCH 05/13] drm/ttm: overhaul memory accounting j.glisse
2011-11-10 10:27   ` Thomas Hellstrom
2011-11-10 18:05     ` Jerome Glisse
2011-11-10 20:05       ` Thomas Hellstrom
2011-11-10 23:33         ` Jerome Glisse
2011-11-11  7:49           ` Thomas Hellstrom
2011-11-11  8:47             ` Dave Airlie
2011-11-11  9:08               ` Thomas Hellstrom
2011-11-11 15:47             ` Jerome Glisse
2011-11-11 16:22               ` Thomas Hellstrom
2011-11-11 17:15                 ` Jerome Glisse
2011-11-09 20:22 ` [PATCH 06/13] drm/ttm: convert page allocation to use page ptr array instead of list V4 j.glisse
2011-11-09 20:22 ` [PATCH 07/13] drm/ttm: test for dma_address array allocation failure j.glisse
2011-11-09 20:22 ` [PATCH 08/13] drm/ttm: merge ttm_backend and ttm_tt V2 j.glisse
2011-11-09 20:22 ` [PATCH 09/13] drm/ttm: introduce callback for ttm_tt populate & unpopulate V2 j.glisse
2011-11-09 20:22 ` [PATCH 10/13] ttm: Provide DMA aware TTM page pool code. V5 j.glisse
2011-11-09 20:22 ` [PATCH 11/13] swiotlb: Expose swiotlb_nr_tlb function to modules j.glisse
2011-11-09 20:22 ` [PATCH 12/13] drm/radeon/kms: Enable the TTM DMA pool if swiotlb is on V2 j.glisse
2011-11-09 20:22 ` [PATCH 13/13] drm/nouveau: enable the TTM DMA pool on 32-bit DMA only device V2 j.glisse
2011-11-09 20:25 ` ttm: merge ttm_backend & ttm_tt, introduce ttm dma allocator Thomas Hellstrom
2011-11-09 21:03   ` Jerome Glisse
  -- strict thread matches above, loose matches on Subject: below --
2011-11-03 23:39 j.glisse
2011-11-07 17:50 ` Konrad Rzeszutek Wilk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.