On 11/09/2011 09:22 PM, j.glisse at gmail.com wrote: > 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. >
OK. I'll take a deeper look into this. > 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. > It's important that we distinguish between populating, which populates pages, and faulting, which add ptes pointing to those pages. Previously populating happened as a side effect of faulting, but now that populating is done in a single step, faulting (adding ptes) is still not. Usually a fault() handler adds a single pte, but TTM is different and tries to prefault more, but it is important that we only error on the first pte, so that's why the comment should stay. > 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'm fine with having it as a separate patchset as long as it gets done :). > I am in the process of retesting this whole serie and especialy the > while memory accounting. > > Cheers, > Jerome > /Thomas