hulk inclusion category: feature bugzilla: https://atomgit.com/openeuler/kernel/issues/8489 -------------------------------- This reverts commit e14f9d96acb78e7810ccd2e11d70c9915752e5b8. Commit e14f9d96acb7 ("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 --- kernel/sysctl.c | 2 +- mm/memory-failure.c | 15 ++------------- 3 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 93285bbadc9e..e14703f12fdf 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/kernel/sysctl.c b/kernel/sysctl.c index daeeddb60c2e..d85c1eb43875 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -3334,7 +3334,7 @@ static struct ctl_table vm_table[] = { .mode = 0644, .proc_handler = proc_dointvec_minmax, .extra1 = SYSCTL_ZERO, - .extra2 = &three, + .extra2 = SYSCTL_ONE, }, #endif { diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 78c13e50f94b..46f55797b102 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -60,14 +60,11 @@ #include "internal.h" #include "ras/ras_event.h" -#define SOFT_OFFLINE_ENABLED BIT(0) -#define SOFT_OFFLINE_SKIP_HUGETLB BIT(1) - int sysctl_memory_failure_early_kill __read_mostly = 0; int sysctl_memory_failure_recovery __read_mostly = 1; -int sysctl_enable_soft_offline __read_mostly = SOFT_OFFLINE_ENABLED; +int sysctl_enable_soft_offline __read_mostly = 1; atomic_long_t num_poisoned_pages __read_mostly = ATOMIC_LONG_INIT(0); @@ -2164,20 +2161,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(ref_page); return -EOPNOTSUPP; } - if (sysctl_enable_soft_offline & SOFT_OFFLINE_SKIP_HUGETLB) { - if (PageHuge(page)) { - pr_info_once("disabled for HugeTLB pages by /proc/sys/vm/enable_soft_offline\n"); - put_ref_page(ref_page); - return -EOPNOTSUPP; - } - } - if (PageHWPoison(page)) { pr_info("soft offline: %#lx page already poisoned\n", pfn); put_ref_page(ref_page); -- 2.33.0