On Mon, 28 Jul 2025 16:03:53 +0800 Baolin Wang <baolin.w...@linux.alibaba.com> 
wrote:

> After commit acd7ccb284b8 ("mm: shmem: add large folio support for tmpfs"),
> we extend the 'huge=' option to allow any sized large folios for tmpfs,
> which means tmpfs will allow getting a highest order hint based on the size
> of write() and fallocate() paths, and then will try each allowable large 
> order.
> 
> However, when the i915 driver allocates shmem memory, it doesn't provide hint
> information about the size of the large folio to be allocated, resulting in
> the inability to allocate PMD-sized shmem, which in turn affects GPU 
> performance.
> 
> To fix this issue, add the 'end' information for shmem_read_folio_gfp()  to 
> help
> allocate PMD-sized large folios. Additionally, use the maximum allocation 
> chunk
> (via mapping_max_folio_size()) to determine the size of the large folios to
> allocate in the i915 driver.

What is the magnitude of the performance change?

> Fixes: acd7ccb284b8 ("mm: shmem: add large folio support for tmpfs")
> Reported-by: Patryk Kowalczyk <pat...@kowalczyk.ws>
> Reported-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
> Tested-by: Patryk Kowalczyk <pat...@kowalczyk.ws>

This isn't a regression fix, is it?  acd7ccb284b8 adds a new feature
and we have now found a flaw in it.

Still, we could bend the rules a little bit and backport this, depends
on how significant the runtime effect is.

Reply via email to