Messages in this thread | | | Date | Wed, 8 May 2024 17:40:19 +0800 | Subject | Re: [PATCH 1/8] mm: move highest_order() and next_order() out of the THP config | From | Baolin Wang <> |
| |
On 2024/5/8 17:06, Ryan Roberts wrote: > On 08/05/2024 03:13, Baolin Wang wrote: >> >> >> On 2024/5/7 18:21, Ryan Roberts wrote: >>> On 06/05/2024 09:46, Baolin Wang wrote: >>>> Move highest_order() and next_order() out of the CONFIG_TRANSPARENT_HUGEPAGE >>>> macro, which can be common functions to be used. >>> >>> Sorry if I haven't kept up with the discussion, but why is this needed? I >>> wouldn't expect a need to iterate over orders if THP is compile-time disabled >>> because we will never try to allocate THP? >> >> Cause I don't want to add some dummy functions to avoid building errors if >> CONFIG_TRANSPARENT_HUGEPAGE is not enabled in patch 6. Another thought is that >> the pagecache can also allocate a large folio even when THP is not enabled, so >> these helpers may be used in the future (not sure though). > > OK, I'll admit I haven't looked at the latter patches yet - I'd like to conclude > on the interface and mapping/alignment strategy first. > > But it wasn't necessary to access these functions for the anon/private case > without CONFIG_TRANSPARENT_HUGEPAGE, so I'm wondering why it's needed for shmem > case. I would expect that they don't need to be defined at all.
Currently in the shmem_alloc_and_add_folio() function, the hugepage allocating is not guarded with '#ifdef CONFIG_TRANSPARENT_HUGEPAGE', but rather with 'IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)', which can lead to some building errors when CONFIG_TRANSPARENT_HUGEPAGE is not enabled. However, this is not a big issue, and I will make some adjustments to avoid defining dummy functions.
| |