On 08.05.24 09:08, David Hildenbrand wrote:
On 08.05.24 06:45, Baolin Wang wrote:
On 2024/5/7 18:52, Ryan Roberts wrote:
On 06/05/2024 09:46, Baolin Wang wrote:
To support the use of mTHP with anonymous shmem, add a new sysfs interface
'shmem_enabled' in the '/sys/kernel/mm/transparent_hugepage/hugepages-kB/'
directory for each mTHP to control whether shmem is enabled for that mTHP,
with a value similar to the top level 'shmem_enabled', which can be set to:
"always", "inherit (to inherit the top level setting)", "within_size", "advise",
"never", "deny", "force". These values follow the same semantics as the top
level, except the 'deny' is equivalent to 'never', and 'force' is equivalent
to 'always' to keep compatibility.
We decided at [1] to not allow 'force' for non-PMD-sizes.
[1]
https://lore.kernel.org/linux-mm/533f37e9-81bf-4fa2-9b72-12cdcb1edb3f@xxxxxxxxxx/
However, thinking about this a bit more, I wonder if the decision we made to
allow all hugepages-xxkB/enabled controls to take "inherit" was the wrong one.
Perhaps we should have only allowed the PMD-sized enable=inherit (this is just
for legacy back compat after all, I don't think there is any use case where
changing multiple mTHP size controls atomically is actually useful). Applying
Agree. This is also our usage of 'inherit'.
Missed that one: there might be use cases in the future once we would
start defaulting to "inherit" for all knobs (a distro might default to
that) and default-enable THP in the global knob. Then, it would be easy
to disable any THP by disabling the global knob. (I think that's the
future we're heading to, where we'd have an "auto" mode that can be set
on the global toggle).
But I am just making up use cases ;) I think it will be valuable and
just doing it consistently now might be cleaner.
--
Cheers,
David / dhildenb