linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/3] Enhance sysfs handling for memory hotplug in weighted interleave
@ 2025-04-04  7:46 Rakie Kim
  2025-04-04  7:46 ` [PATCH v6 1/3] mm/mempolicy: Fix memory leaks in weighted interleave sysfs Rakie Kim
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Rakie Kim @ 2025-04-04  7:46 UTC (permalink / raw)
  To: akpm
  Cc: gourry, linux-mm, linux-kernel, linux-cxl, joshua.hahnjy,
	dan.j.williams, ying.huang, david, Jonathan.Cameron, osalvador,
	kernel_team, honggyu.kim, yunjeong.mun, rakie.kim

The following patch series enhances the weighted interleave policy in the
memory management subsystem by improving sysfs handling, fixing memory leaks,
and introducing dynamic sysfs updates for memory hotplug support.

### Background
The weighted interleave policy distributes memory allocations across multiple
NUMA nodes based on their performance weight, thereby optimizing memory
bandwidth utilization. The weight values are configured through sysfs.

Previously, sysfs entries for weighted interleave were managed statically
at initialization. This led to several issues:
- Memory Leaks: Improper `kobject` teardown caused memory leaks
  when initialization failed or when nodes were removed.
- Lack of Dynamic Updates: Sysfs attributes were created only during
  initialization, preventing nodes added at runtime from being recognized.
- Handling of Unusable Nodes: Sysfs entries were generated for all
  possible nodes (`N_POSSIBLE`), including memoryless or unavailable nodes,
  leading to sysfs entries for unusable nodes and potential
  misconfigurations.

### Patch Overview
1. [PATCH 1/3] mm/mempolicy: Fix memory leaks in weighted interleave sysfs
   - Ensures proper cleanup of `kobject` allocations.
   - Adds `kobject_del()` before `kobject_put()` to clean up sysfs state correctly.
   - Prevents memory/resource leaks and improves teardown behavior.

2. [PATCH 2/3] mm/mempolicy: Prepare weighted interleave sysfs for memory hotplug
   - Refactors static sysfs layout into a new `sysfs_wi_group` structure.
   - Makes per-node sysfs attributes accessible to external modules.
   - Lays groundwork for future hotplug support by enabling runtime modification.

3. [PATCH 3/3] mm/mempolicy: Support memory hotplug in weighted interleave
   - Dynamically adds/removes sysfs entries when nodes are online/offline.
   - Limits sysfs creation to nodes with memory, avoiding unusable node entries.
   - Hooks into memory hotplug notifier for runtime updates.

These patches have been tested under CXL-based memory configurations,
including hotplug scenarios, to ensure proper behavior and stability.

 mm/mempolicy.c | 194 ++++++++++++++++++++++++++++++++-----------------
 1 file changed, 126 insertions(+), 68 deletions(-)


base-commit: 38fec10eb60d687e30c8c6b5420d86e8149f7557
-- 
2.34.1



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

end of thread, other threads:[~2025-04-07 10:47 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-04  7:46 [PATCH v6 0/3] Enhance sysfs handling for memory hotplug in weighted interleave Rakie Kim
2025-04-04  7:46 ` [PATCH v6 1/3] mm/mempolicy: Fix memory leaks in weighted interleave sysfs Rakie Kim
2025-04-04 12:59   ` Jonathan Cameron
2025-04-07  9:37     ` Rakie Kim
2025-04-04  7:46 ` [PATCH v6 2/3] mm/mempolicy: Prepare weighted interleave sysfs for memory hotplug Rakie Kim
2025-04-04 13:05   ` Jonathan Cameron
2025-04-04 17:23     ` Dan Williams
2025-04-07  9:38       ` Rakie Kim
2025-04-07  9:49       ` Jonathan Cameron
2025-04-04  7:46 ` [PATCH v6 3/3] mm/mempolicy: Support memory hotplug in weighted interleave Rakie Kim
2025-04-04  8:43   ` Oscar Salvador
2025-04-07  9:37     ` Rakie Kim
2025-04-04 20:45   ` David Hildenbrand
2025-04-07  9:39     ` Rakie Kim
2025-04-07 10:47       ` David Hildenbrand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).