[PATCH v2] mm/Kconfig: make MEMORY_FAILURE select MIGRATION

Xie Yuanbin posted 1 patch 1 month, 2 weeks ago
mm/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH v2] mm/Kconfig: make MEMORY_FAILURE select MIGRATION
Posted by Xie Yuanbin 1 month, 2 weeks ago
For embedded devices, lacking support for NUMA, memory hotplug/hotremove,
CMA and huge pages is a quite common scenario. In this scenario, the
demand for contiguous physical memory allocation is very low. To reduce
the kernel image size, some devices disable the compaction. However,
their SoCs do support DDR ECC, meaning that memory-failure may be needed.

Migration is very useful for soft_offline_page() in memory-failure, which
may be triggered by correctable memory errors. Most anonymous and
file-mapped faulty pages can be migrated to other healthy pages.

Currently, MEMORY_FAILURE does not explicitly select MIGRATION. When
COMPACTION, MEMORY_HOTREMOVE, NUMA_MIGRATION and CMA are all disabled,
MEMORY_FAILURE can be enabled, but MIGRATION cannot be selected.

Make MEMORY_FAILURE select MIGRATION to handle this situation.

Suggested-by: Mike Rapoport <rppt@kernel.org>
Cc: Lorenzo Stoakes (ARM) <ljs@kernel.org>
Cc: David Hildenbrand (Arm) <david@kernel.org>
Cc: Miaohe Lin <linmiaohe@huawei.com>
Signed-off-by: Xie Yuanbin <xieyuanbin1@huawei.com>
---
By the way, as DRAM prices continue to rise, memory-failure becomes
more important, and we are trying to enable this feature on more devices.

V1->V2: https://lore.kernel.org/20260812091644.224299-1-xieyuanbin1@huawei.com
        Do not expose the MIGRATION config to users.

 mm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mm/Kconfig b/mm/Kconfig
index 8a24c130d008..604c58199acb 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -767,6 +767,7 @@ config MEMORY_FAILURE
 	depends on ARCH_SUPPORTS_MEMORY_FAILURE
 	bool "Enable recovery from hardware memory errors"
 	select INTERVAL_TREE
+	select MIGRATION
 	help
 	  Enables code to recover from some memory failures on systems
 	  with MCA recovery. This allows a system to continue running
-- 
2.55.0
Re: [PATCH v2] mm/Kconfig: make MEMORY_FAILURE select MIGRATION
Posted by Miaohe Lin 1 month, 2 weeks ago
On 2026/8/13 21:49, Xie Yuanbin wrote:
> For embedded devices, lacking support for NUMA, memory hotplug/hotremove,
> CMA and huge pages is a quite common scenario. In this scenario, the
> demand for contiguous physical memory allocation is very low. To reduce
> the kernel image size, some devices disable the compaction. However,
> their SoCs do support DDR ECC, meaning that memory-failure may be needed.
> 
> Migration is very useful for soft_offline_page() in memory-failure, which
> may be triggered by correctable memory errors. Most anonymous and
> file-mapped faulty pages can be migrated to other healthy pages.
> 
> Currently, MEMORY_FAILURE does not explicitly select MIGRATION. When
> COMPACTION, MEMORY_HOTREMOVE, NUMA_MIGRATION and CMA are all disabled,
> MEMORY_FAILURE can be enabled, but MIGRATION cannot be selected.
> 
> Make MEMORY_FAILURE select MIGRATION to handle this situation.
> 
> Suggested-by: Mike Rapoport <rppt@kernel.org>
> Cc: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> Cc: David Hildenbrand (Arm) <david@kernel.org>
> Cc: Miaohe Lin <linmiaohe@huawei.com>
> Signed-off-by: Xie Yuanbin <xieyuanbin1@huawei.com>

Acked-by: Miaohe Lin <linmiaohe@huawei.com>

Thanks.
.
Re: [PATCH v2] mm/Kconfig: make MEMORY_FAILURE select MIGRATION
Posted by David Hildenbrand (Arm) 1 month, 2 weeks ago
On 8/13/26 15:49, Xie Yuanbin wrote:
> For embedded devices, lacking support for NUMA, memory hotplug/hotremove,
> CMA and huge pages is a quite common scenario. In this scenario, the
> demand for contiguous physical memory allocation is very low. To reduce
> the kernel image size, some devices disable the compaction. However,
> their SoCs do support DDR ECC, meaning that memory-failure may be needed.
> 
> Migration is very useful for soft_offline_page() in memory-failure, which
> may be triggered by correctable memory errors. Most anonymous and
> file-mapped faulty pages can be migrated to other healthy pages.
> 
> Currently, MEMORY_FAILURE does not explicitly select MIGRATION. When
> COMPACTION, MEMORY_HOTREMOVE, NUMA_MIGRATION and CMA are all disabled,
> MEMORY_FAILURE can be enabled, but MIGRATION cannot be selected.
> 
> Make MEMORY_FAILURE select MIGRATION to handle this situation.
> 
> Suggested-by: Mike Rapoport <rppt@kernel.org>
> Cc: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> Cc: David Hildenbrand (Arm) <david@kernel.org>
> Cc: Miaohe Lin <linmiaohe@huawei.com>
> Signed-off-by: Xie Yuanbin <xieyuanbin1@huawei.com>
> ---
Acked-by: David Hildenbrand (Arm) <david@kernel.org>

-- 
Cheers,

David
Re: [PATCH v2] mm/Kconfig: make MEMORY_FAILURE select MIGRATION
Posted by Zi Yan 1 month, 2 weeks ago
On Thu Aug 13, 2026 at 9:49 AM EDT, Xie Yuanbin wrote:
> For embedded devices, lacking support for NUMA, memory hotplug/hotremove,
> CMA and huge pages is a quite common scenario. In this scenario, the
> demand for contiguous physical memory allocation is very low. To reduce
> the kernel image size, some devices disable the compaction. However,
> their SoCs do support DDR ECC, meaning that memory-failure may be needed.
>
> Migration is very useful for soft_offline_page() in memory-failure, which
> may be triggered by correctable memory errors. Most anonymous and
> file-mapped faulty pages can be migrated to other healthy pages.
>
> Currently, MEMORY_FAILURE does not explicitly select MIGRATION. When
> COMPACTION, MEMORY_HOTREMOVE, NUMA_MIGRATION and CMA are all disabled,
> MEMORY_FAILURE can be enabled, but MIGRATION cannot be selected.
>
> Make MEMORY_FAILURE select MIGRATION to handle this situation.
>
> Suggested-by: Mike Rapoport <rppt@kernel.org>
> Cc: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> Cc: David Hildenbrand (Arm) <david@kernel.org>
> Cc: Miaohe Lin <linmiaohe@huawei.com>
> Signed-off-by: Xie Yuanbin <xieyuanbin1@huawei.com>
> ---
> By the way, as DRAM prices continue to rise, memory-failure becomes
> more important, and we are trying to enable this feature on more devices.
>
> V1->V2: https://lore.kernel.org/20260812091644.224299-1-xieyuanbin1@huawei.com
>         Do not expose the MIGRATION config to users.
>
>  mm/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>

Make sense to me.

Acked-by: Zi Yan <ziy@nvidia.com>


-- 
Best Regards,
Yan, Zi
Re: [PATCH v2] mm/Kconfig: make MEMORY_FAILURE select MIGRATION
Posted by Mike Rapoport 1 month, 2 weeks ago
On Thu, Aug 13, 2026 at 09:49:16PM +0800, Xie Yuanbin wrote:
> For embedded devices, lacking support for NUMA, memory hotplug/hotremove,
> CMA and huge pages is a quite common scenario. In this scenario, the
> demand for contiguous physical memory allocation is very low. To reduce
> the kernel image size, some devices disable the compaction. However,
> their SoCs do support DDR ECC, meaning that memory-failure may be needed.
> 
> Migration is very useful for soft_offline_page() in memory-failure, which
> may be triggered by correctable memory errors. Most anonymous and
> file-mapped faulty pages can be migrated to other healthy pages.
> 
> Currently, MEMORY_FAILURE does not explicitly select MIGRATION. When
> COMPACTION, MEMORY_HOTREMOVE, NUMA_MIGRATION and CMA are all disabled,
> MEMORY_FAILURE can be enabled, but MIGRATION cannot be selected.
> 
> Make MEMORY_FAILURE select MIGRATION to handle this situation.
> 
> Suggested-by: Mike Rapoport <rppt@kernel.org>
> Cc: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> Cc: David Hildenbrand (Arm) <david@kernel.org>
> Cc: Miaohe Lin <linmiaohe@huawei.com>
> Signed-off-by: Xie Yuanbin <xieyuanbin1@huawei.com>

Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

> ---
> By the way, as DRAM prices continue to rise, memory-failure becomes
> more important, and we are trying to enable this feature on more devices.
> 
> V1->V2: https://lore.kernel.org/20260812091644.224299-1-xieyuanbin1@huawei.com
>         Do not expose the MIGRATION config to users.
> 
>  mm/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 8a24c130d008..604c58199acb 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -767,6 +767,7 @@ config MEMORY_FAILURE
>  	depends on ARCH_SUPPORTS_MEMORY_FAILURE
>  	bool "Enable recovery from hardware memory errors"
>  	select INTERVAL_TREE
> +	select MIGRATION
>  	help
>  	  Enables code to recover from some memory failures on systems
>  	  with MCA recovery. This allows a system to continue running
> -- 
> 2.55.0
> 

-- 
Sincerely yours,
Mike.
Re: [PATCH v2] mm/Kconfig: make MEMORY_FAILURE select MIGRATION
Posted by Lorenzo Stoakes (ARM) 1 month, 2 weeks ago
On Thu, Aug 13, 2026 at 09:49:16PM +0800, Xie Yuanbin wrote:
> For embedded devices, lacking support for NUMA, memory hotplug/hotremove,
> CMA and huge pages is a quite common scenario. In this scenario, the
> demand for contiguous physical memory allocation is very low. To reduce
> the kernel image size, some devices disable the compaction. However,
> their SoCs do support DDR ECC, meaning that memory-failure may be needed.
>
> Migration is very useful for soft_offline_page() in memory-failure, which
> may be triggered by correctable memory errors. Most anonymous and
> file-mapped faulty pages can be migrated to other healthy pages.
>
> Currently, MEMORY_FAILURE does not explicitly select MIGRATION. When
> COMPACTION, MEMORY_HOTREMOVE, NUMA_MIGRATION and CMA are all disabled,
> MEMORY_FAILURE can be enabled, but MIGRATION cannot be selected.
>
> Make MEMORY_FAILURE select MIGRATION to handle this situation.
>
> Suggested-by: Mike Rapoport <rppt@kernel.org>
> Cc: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> Cc: David Hildenbrand (Arm) <david@kernel.org>
> Cc: Miaohe Lin <linmiaohe@huawei.com>
> Signed-off-by: Xie Yuanbin <xieyuanbin1@huawei.com>

LGTM so:

Reviewed-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>

> ---
> By the way, as DRAM prices continue to rise, memory-failure becomes
> more important, and we are trying to enable this feature on more devices.
>
> V1->V2: https://lore.kernel.org/20260812091644.224299-1-xieyuanbin1@huawei.com
>         Do not expose the MIGRATION config to users.
>
>  mm/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 8a24c130d008..604c58199acb 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -767,6 +767,7 @@ config MEMORY_FAILURE
>  	depends on ARCH_SUPPORTS_MEMORY_FAILURE
>  	bool "Enable recovery from hardware memory errors"
>  	select INTERVAL_TREE
> +	select MIGRATION
>  	help
>  	  Enables code to recover from some memory failures on systems
>  	  with MCA recovery. This allows a system to continue running
> --
> 2.55.0
>

--
Cheers, Lorenzo