Re: [PATCH] mm/shmem: Inline shmem_is_huge() for disabled transparent hugepages

From: David Hildenbrand
Date: Wed Apr 10 2024 - 08:34:50 EST


On 09.04.24 17:54, Sumanth Korikkar wrote:
In order to minimize code size (CONFIG_CC_OPTIMIZE_FOR_SIZE=y),
compiler might choose to make a regular function call (out-of-line) for
shmem_is_huge() instead of inlining it. When transparent hugepages are
disabled (CONFIG_TRANSPARENT_HUGEPAGE=n), it can cause compilation
error.

mm/shmem.c: In function ‘shmem_getattr’:
./include/linux/huge_mm.h:383:27: note: in expansion of macro ‘BUILD_BUG’
383 | #define HPAGE_PMD_SIZE ({ BUILD_BUG(); 0; })
| ^~~~~~~~~
mm/shmem.c:1148:33: note: in expansion of macro ‘HPAGE_PMD_SIZE’
1148 | stat->blksize = HPAGE_PMD_SIZE;

To prevent the possible error, always inline shmem_is_huge() when
transparent hugepages are disabled.


Do you know which commit introduced that?

--
Cheers,

David / dhildenb