[PATCH] drm/ttm: WIP limit the TTM pool to 32bit CPUs

Christian König christian.koenig at amd.com
Tue Aug 12 09:17:23 UTC 2025


On 11.08.25 17:16, Thomas Hellström wrote:
>>
>>> FWIW If I understand the code correctly, i915 bypasses this by
>>> setting
>>> up user-space mappings not by vm_insert_pfn_prot() but using
>>> apply_to_page_range(), mapping the whole bo.
>>
>> Yeah, that's probably not something we can do. Even filling in 2MiB
>> of address space at a time caused performance problems for TTM.
> 
> Wasn't that because of repeated calls to vmf_insert_pfn_prot(),
> repeating the caching checks and page-table walk all the time? 

Only partially, the main problem was that only a fraction of the BO was actually CPU accessed. So filling in more than faulted was just overhead.

> I think apply_to_page_range() should be pretty fast. Also, to avoid
> regressions due to changing the number of prefaulted pages, we could
> perhaps honor the MADV_RANDOM and MADV_SEQUENTIAL advises for UMD to
> use; one faulting a single page only, one faulting the whole bo

Ah! In my thinking apply_to_page_range() would always fault in the whole BO, if that still works for only a partial range than that should be ok.

> , but
> also see below:
> 
>>
>> We should probably just drop overriding the attributes in
>> vmf_insert_pfn_prot().
> 
> I think either solution will see resistance with arch people. We should
> probably involve them in the discussion.

Any specific person I should CC or just x86 at kernel.org?

Thanks,
Christian


More information about the dri-devel mailing list