From patchwork Fri Mar 7 06:35:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rakie Kim X-Patchwork-Id: 14006004 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 13186C19F32 for ; Fri, 7 Mar 2025 06:35:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E7537280004; Fri, 7 Mar 2025 01:35:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E24FF280003; Fri, 7 Mar 2025 01:35:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D12E3280004; Fri, 7 Mar 2025 01:35:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id B45FB280003 for ; Fri, 7 Mar 2025 01:35:46 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B6F02B3821 for ; Fri, 7 Mar 2025 06:35:47 +0000 (UTC) X-FDA: 83193794334.29.627F56D Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf13.hostedemail.com (Postfix) with ESMTP id 3A73D20003 for ; Fri, 7 Mar 2025 06:35:44 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf13.hostedemail.com: domain of rakie.kim@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=rakie.kim@sk.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741329346; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references; bh=IDO6dodBWjPBVMNcvqW3zWMNO6zsBGAGKoYG4AUgKTI=; b=CkBJAh+ws+/xN8zEkbNAoopSsl6H/eJ0l8mWzoDTfFjQzvc7TYTKHAj3f6uOV3rXEZ/cdx 8bZrL/4rt8Nu/LEql83rSFyv1zz5gStv1/2wBPPhqc39JSuFc2abykngzMeG2g5Sru8Uvb EKkyPxWEBOI3gktXCSO3x4lqvuhxt+k= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf13.hostedemail.com: domain of rakie.kim@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=rakie.kim@sk.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741329346; a=rsa-sha256; cv=none; b=7Mko8HD9I6VK9syyzE72TxaWNu5DHPHoAhimHqljOxNvVylwzyRatBYOJ8FFNEnlg4zRrN 7jaVEo6YNm7JrfngLiK/tlxrgZUSz0gUmhUHIBDTyH1B+Fm+61nr6Y9e9PvrJIHvmlvjXy UZJjglGOe38QfRDf49Eh3Vg1I5XL1O0= X-AuditID: a67dfc5b-3c9ff7000001d7ae-6d-67ca93be1418 From: Rakie Kim To: gourry@gourry.net Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-cxl@vger.kernel.org, joshua.hahnjy@gmail.com, dan.j.williams@intel.com, ying.huang@linux.alibaba.com, kernel_team@skhynix.com, honggyu.kim@sk.com, yunjeong.mun@sk.com, rakie.kim@sk.com Subject: [PATCH 0/4] mm/mempolicy: Add memory hotplug support in weighted interleave Date: Fri, 7 Mar 2025 15:35:29 +0900 Message-ID: <20250307063534.540-1-rakie.kim@sk.com> X-Mailer: git-send-email 2.48.1.windows.1 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrELMWRmVeSWpSXmKPExsXC9ZZnke6+yafSDW6s0reYs34Nm8X0qRcY LX7ePc5ucXzrPHaL87NOsVhc3jWHzeLemv+sFqvXZDhweOycdZfdo7vtMrvH4j0vmTw2fZrE 7nFixm8Wj50PLT0+b5ILYI/isklJzcksSy3St0vgymi+so29YI5IxfHL21gaGPsFuxg5OSQE TCR+X5jECGPfeL+FuYuRg4NNQEni2N4YkLCIgKjEvKOzWboYuTiYBRYzSSw8vJ4JpEZYIETi am8ISA2LgKrEx3OH2EDCvALGEm/3O0FM1JRouHSPCcTmFRCUODnzCQuIzSwgL9G8dTYzRM0W NolXzX4QtqTEwRU3WCYw8s5C0jILScsCRqZVjEKZeWW5iZk5JnoZlXmZFXrJ+bmbGIEhuaz2 T/QOxk8Xgg8xCnAwKvHwekw9mS7EmlhWXJl7iFGCg1lJhFdwM1CINyWxsiq1KD++qDQntfgQ ozQHi5I4r9G38hQhgfTEktTs1NSC1CKYLBMHp1QD49LoDdkztERVGfZueNt2zvaF6lT/70cv PC4sUeM+YKTe2rj4W9J0uftbvSJfv+4uUd1vevjctifMhzX2ZaQ/33MxpMv0+g6e8N8vje7L P63bNPW3QLCW8J1L07Y2y82J8XTNtIs5mJu7LPiY8IOc1XJxqissO3ZM4og9+PTHJxmhdcob Kln9HJRYijMSDbWYi4oTAYEzIAxFAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrLLMWRmVeSWpSXmKPExsXCNUNNS3ff5FPpBtdWKFnMWb+GzWL61AuM Fj/vHme3+PzsNbPF8a3z2C0Ozz3JanF+1ikWi8u75rBZ3Fvzn9Xi0LXnrBar12RY/N62gs2B x2PnrLvsHt1tl9k9Fu95yeSx6dMkdo8TM36zeOx8aOnx7baHx+IXH5g8Pm+SC+CM4rJJSc3J LEst0rdL4MpovrKNvWCOSMXxy9tYGhj7BbsYOTkkBEwkbrzfwtzFyMHBJqAkcWxvDEhYREBU Yt7R2SxdjFwczAKLmSQWHl7PBFIjLBAicbU3BKSGRUBV4uO5Q2wgYV4BY4m3+50gJmpKNFy6 xwRi8woISpyc+YQFxGYWkJdo3jqbeQIj1ywkqVlIUgsYmVYximTmleUmZuaY6hVnZ1TmZVbo JefnbmIEBuKy2j8TdzB+uex+iFGAg1GJh9dj6sl0IdbEsuLK3EOMEhzMSiK8gpuBQrwpiZVV qUX58UWlOanFhxilOViUxHm9wlMThATSE0tSs1NTC1KLYLJMHJxSDYyXLD8sCp8yW/vtvK8c P/5nrdkW+srmq+niZyvPO+e3JHvf51twV+K2Vr7cDe6PK8UWNetLWkSvnHltt1mRsPPGG6eM 5bX3RFybee/sCVmHUN0DbeEV83i9orcaLXbZW3n376Ock9I/3P+znnQV/v3sR/y7WTy8Bm2a l+N1Xn23Uu2/vMtx2bubSizFGYmGWsxFxYkAmNltpUACAAA= X-CFilter-Loop: Reflected X-Stat-Signature: cexkm1bfeyhw5kbzwfe6yzftgc6wx7yc X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 3A73D20003 X-Rspam-User: X-HE-Tag: 1741329344-908187 X-HE-Meta: U2FsdGVkX19faT5r5QBU5w0gpR1COmB8SFIoYLhZ4b4ZZjXM9yQGCudUViEIgleFptoGGbnkrbAmF6AfpIdpMkWWaPjt7ltChPvoOC3yQ415C9XFe1OcXTfH7jz8BWEjcEcn/ukgdpnR64iVLs2WI+4f0UaW35kmouzSt666O/pbPBM5hqKQ/U+6JM5wC06ARveujDGJLWXligkqa0qwn8vfMsWbSeJ80maGspdE34tHhWCR/bqz2U50MvD0w4Wvy4gTf3yC1MRFExqnvtbUWdGZ01WjSvjnQziwBJo3PZJm59oosZU8N6PVEF0upsOPsS125LwC0MBEjlcQwFfKY8/kHpNQUjR9A/ms5ZyIB88XNlsZ8y4PhLAasv/3dY2McvP8faathNTHRW8Xjwpp7/2pjXSi3z+AaqDhE60hLffrdsracJozto5mICsL0wuxjW2wsY7fqvgWfx3SpaQNW99aiYkcMQz0UGZJRnOggfF0iBRXW/AuzefUwY2APynJwfwnOPk5KDAH9VpLw4rC1RFRJrU27swIsjoELveG5YNSmriOlPi4TAcRuYSviZZp2abU731ytS3hw3z+hCv10R8QzeiX2mmP9IZwXln2yMDRL5EewuGXmav5hCcI1v8ZJhlRCix7l6rlJcdWmUcT+txzLoDiBhXQQ4ETsOIO2/DY1MTAF/7Vq3rD7yQP9DqWEzNT4/WhlG3Zlrw9nkgmPyHEZFjMcYvEKK4QrEdDR+RydVDxcZkimV86AwOVnGitINTlHa9DQz1t8Wnu1CQNPmcrG6yLXGmjjwI70Pp6QRGAjGC38fkpJ1Z6lCEHluiZGPhXK9czjqYL5Wk+Ft/QfZlKm0pYDnaEmM9rXmqf1nPuDq22jD0fwDQvib8O+uNKrJVkLz3MFuVc3J+/619ywrE7RoqVAK7dzSp8HdtF5w20fRPW4FYZzwwgz/bslvvzBGqDYmkM050norCMT85 dGzV85wE gHdJDcb4wfaMMOt7eElOXgUZaZYxYrqAp4GOoPhrj8jvf64A= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This patch series enhances the weighted interleave policy in mempolicy to support memory hotplug, ensuring that newly added memory nodes are properly recognized and integrated into the weighted interleave mechanism. The weighted interleave policy distributes page allocations across multiple NUMA nodes based on their performance weight, optimizing memory bandwidth utilization. The weight values for each node are configured through sysfs. However, the existing implementation only created sysfs entries at initialization, leading to the following issues: Unnecessary sysfs entries: Nodes without memory were included in sysfs at boot. Missing hotplug support: Nodes that became online after initialization were not recognized, causing incomplete interleave configurations. To resolve these issues, the first patch introduces two key changes: Filtered sysfs creation at initialization Only nodes that are online and have memory are registered. Dynamic sysfs updates for hotplugged nodes New memory nodes are recognized and integrated via the memory hotplug mechanism. Subsequent patches refine this functionality: Patch 2: Enables sysfs registration for memory nodes added via hotplug. Patch 3: Fixes a race condition that caused duplicate sysfs entries when registering interleave settings. Patch 4: Ensures proper deallocation of kobjects and memory, preventing resource leaks in mempolicy_sysfs_init(). With these changes, the weighted interleave policy can dynamically adapt to memory hotplug events, improving NUMA memory management and system stability. Patch Summary [PATCH 1/4] mm/mempolicy: Support memory hotplug in weighted interleave Adds dynamic sysfs integration for memory hotplug in weighted interleave. [PATCH 2/4] mm/mempolicy: Enable sysfs support for memory hotplug in weighted interleave Implements sysfs attribute registration for newly detected memory nodes. [PATCH 3/4] mm/mempolicy: Fix duplicate node addition in sysfs for weighted interleave Prevents redundant sysfs entries when configuring interleave settings. [PATCH 4/4] mm/mempolicy: Fix memory leaks in mempolicy_sysfs_init() Ensures proper kobject and memory deallocation to prevent resource leaks. These patches have been tested to ensure correct memory node detection, proper sysfs updates, and stability improvements in memory hotplug scenarios. mm/mempolicy.c | 172 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 122 insertions(+), 50 deletions(-) base-commit: 7eb172143d5508b4da468ed59ee857c6e5e01da6