linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 1/2] ARM: mm: support memory-failure
@ 2025-09-22  2:14 Xie Yuanbin
  2025-09-22  2:14 ` [RFC PATCH 2/2] ARM: memory-failure: not select RAS and MEMORY_ISOLATION Xie Yuanbin
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Xie Yuanbin @ 2025-09-22  2:14 UTC (permalink / raw)
  To: linux, akpm, david, lorenzo.stoakes, Liam.Howlett, vbabka, rppt,
	surenb, mhocko, linmiaohe, nao.horiguchi, rmk+kernel, ardb,
	nathan, ebiggers, arnd, rostedt, kees, dave, peterz
  Cc: will, linux-arm-kernel, linux-kernel, linux-mm, liaohua4,
	lilinjie8, xieyuanbin1

Memory failure provides the ability of soft offline pages,
which is very useful to handle the memory errors such as CE in ECC.

Although ARM does not have a user interface like
`/sys/devices/system/memory/soft_offline_page`, memory-failure still
provides some exported func that can be used by some module ko driver.

Memory-failure will use one page flag (PG_hwpoison). For historical
versions, this will cause the page flags to exceed the 32-bit limit
(when CONFIG_SPARSEMEM and CONFIG_HIGHMEM are both enabled),
and therefore it cannot be enabled.

The following commit:
commit 09022bc196d2 ("mm: remove PG_error")
removes a page flag, so memory-failure can now be launched on ARM now.

The core codes of memory-failure is architecture independent, in fact,
it has performed well in current testing. Perhaps it can also be enabled
on other 32-bit architectures(like x86, and it seems that it can already
be enabled on 32-bit parisc architecture), but I haven't tested it yet.

Signed-off-by: Xie Yuanbin <xieyuanbin1@huawei.com>
---
 arch/arm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 5527935fd15a..b38c194a5cc4 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -149,20 +149,21 @@ config ARM
 	select PCI_SYSCALL if PCI
 	select PERF_USE_VMALLOC
 	select RTC_LIB
 	select SPARSE_IRQ if !(ARCH_FOOTBRIDGE || ARCH_RPC)
 	select SYS_SUPPORTS_APM_EMULATION
 	select THREAD_INFO_IN_TASK
 	select TIMER_OF if OF
 	select HAVE_ARCH_VMAP_STACK if MMU && ARM_HAS_GROUP_RELOCS
 	select TRACE_IRQFLAGS_SUPPORT if !CPU_V7M
 	select USE_OF if !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100)
+	select ARCH_SUPPORTS_MEMORY_FAILURE
 	# Above selects are sorted alphabetically; please add new ones
 	# according to that.  Thanks.
 	help
 	  The ARM series is a line of low-power-consumption RISC chip designs
 	  licensed by ARM Ltd and targeted at embedded applications and
 	  handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
 	  manufactured, but legacy ARM-based PC hardware remains popular in
 	  Europe.  There is an ARM Linux project with a web page at
 	  <http://www.arm.linux.org.uk/>.
 
-- 
2.48.1



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-11-04 13:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-22  2:14 [RFC PATCH 1/2] ARM: mm: support memory-failure Xie Yuanbin
2025-09-22  2:14 ` [RFC PATCH 2/2] ARM: memory-failure: not select RAS and MEMORY_ISOLATION Xie Yuanbin
2025-09-22  8:15   ` David Hildenbrand
2025-09-22  8:47     ` [RFC PATCH 1/2] ARM: mm: support memory-failure Xie Yuanbin
2025-09-22  6:37 ` Arnd Bergmann
2025-09-22  8:28   ` Xie Yuanbin
2025-09-22 12:51     ` Arnd Bergmann
2025-09-23  4:10       ` Xie Yuanbin
2025-11-03 16:53         ` David Hildenbrand (Red Hat)
2025-11-04 13:48           ` Xie Yuanbin
2025-10-22  3:58 ` Xie Yuanbin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox