hulk inclusion category: feature bugzilla: https://atomgit.com/openeuler/kernel/issues/8489 -------------------------------- This reverts commit 59fa393b43f918833705d987e6dbf62e88b4a5b5. Commit 59fa393b43f9 ("mm/memory-failure: support disabling soft offline for HugeTLB pages") introduced a new bit of sysctl_enable_soft_offline to support disabling soft offline for HugeTLB pages only. It is no longer needed. Let's revert it. Signed-off-by: Qi Xi <xiqi2@huawei.com> --- .../ABI/testing/sysfs-memory-page-offline | 3 --- mm/memory-failure.c | 17 +++-------------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/Documentation/ABI/testing/sysfs-memory-page-offline b/Documentation/ABI/testing/sysfs-memory-page-offline index d3f05ed6605e..00f4e35f916f 100644 --- a/Documentation/ABI/testing/sysfs-memory-page-offline +++ b/Documentation/ABI/testing/sysfs-memory-page-offline @@ -20,9 +20,6 @@ Description: number, or a error when the offlining failed. Reading the file is not allowed. - Soft-offline can be controlled via sysctl, see: - Documentation/admin-guide/sysctl/vm.rst - What: /sys/devices/system/memory/hard_offline_page Date: Sep 2009 KernelVersion: 2.6.33 diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 87128fb1489c..3388acc996e2 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -65,14 +65,11 @@ #include "internal.h" #include "ras/ras_event.h" -#define SOFT_OFFLINE_ENABLED BIT(0) -#define SOFT_OFFLINE_SKIP_HUGETLB BIT(1) - static int sysctl_memory_failure_early_kill __read_mostly; static int sysctl_memory_failure_recovery __read_mostly = 1; -static int sysctl_enable_soft_offline __read_mostly = SOFT_OFFLINE_ENABLED; +static int sysctl_enable_soft_offline __read_mostly = 1; atomic_long_t num_poisoned_pages __read_mostly = ATOMIC_LONG_INIT(0); @@ -154,7 +151,7 @@ static struct ctl_table memory_failure_table[] = { .mode = 0644, .proc_handler = proc_dointvec_minmax, .extra1 = SYSCTL_ZERO, - .extra2 = SYSCTL_THREE, + .extra2 = SYSCTL_ONE, }, { } }; @@ -2860,20 +2857,12 @@ int soft_offline_page(unsigned long pfn, int flags) return -EIO; } - if (!(sysctl_enable_soft_offline & SOFT_OFFLINE_ENABLED)) { + if (!sysctl_enable_soft_offline) { pr_info_once("disabled by /proc/sys/vm/enable_soft_offline\n"); put_ref_page(pfn, flags); return -EOPNOTSUPP; } - if (sysctl_enable_soft_offline & SOFT_OFFLINE_SKIP_HUGETLB) { - if (folio_test_hugetlb(pfn_folio(pfn))) { - pr_info_once("disabled for HugeTLB pages by /proc/sys/vm/enable_soft_offline\n"); - put_ref_page(pfn, flags); - return -EOPNOTSUPP; - } - } - mutex_lock(&mf_mutex); if (PageHWPoison(page)) { -- 2.33.0