On Wed, Sep 17, 2025 at 12:32:47PM -0700, Jiaqi Yan wrote:
+1. Given /proc/sys/vm/enable_soft_offline is extensible, I would prefer a compact userspace API.
would create a new file, and the file has weird semantics such that it has no meaning when enable_soft_offline=0.
So the expand the bitmask idea from earlier in this thread?
Bit0 0 = soft offline disabled. 1 = Enabled (but see other bits) Bit1 0 = allow offline of 4K pages, 1 = suppress 4K offline Bit2 0 = allow offline of hugetlb, 1 = suppress hugetlb offline Bit3 0 = allow breakup of transparent huge pages to just offline 4K, 1 = suppress transparent breakup Bit4+ Reserved for suppressing other page types we invent in the future
Values 0 and 1 keep their original meaning.
Value 5 means: offline 4K, keep hugetlb, breakup transparent huge pages.
-Tony