From mboxrd@z Thu Jan 1 00:00:00 1970 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 932E6C3ABAA for ; Fri, 2 May 2025 19:01:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1D8046B008A; Fri, 2 May 2025 15:01:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 181DA6B0095; Fri, 2 May 2025 15:01:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 049606B0093; Fri, 2 May 2025 15:01:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id CFB7A6B0089 for ; Fri, 2 May 2025 15:01:14 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 3F08ABEC0A for ; Fri, 2 May 2025 19:01:16 +0000 (UTC) X-FDA: 83398885752.14.5651631 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf22.hostedemail.com (Postfix) with ESMTP id 1A0B6C000E for ; Fri, 2 May 2025 19:01:13 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=eyDPLfTN; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf22.hostedemail.com: domain of chris.hyser@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=chris.hyser@oracle.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746212474; a=rsa-sha256; cv=none; b=N5IYsli74Df3Y6R+8Sk0utknqKM+rPLrlfg8Cwi33+ddMvg7I2lZZAx9Hq/b146rTTi6d0 uJmUEoX9Ojh43VrPsiqLLAFd2eY9fYE01c+e8vgEizRhA4aohCODPtTJhof75ryo+dnJ0N CII9blnwkwUCJZ+09AysS5/S0w3AjdI= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=eyDPLfTN; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf22.hostedemail.com: domain of chris.hyser@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=chris.hyser@oracle.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746212474; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=jxcag99Lf5vM47fPYCnfh7DS4x/qqPn4W6mmCiyQxxc=; b=JztVFJWDoIyDChMyUs18QjmIgxwbBEKGB4sMPpXVr5CBiDC1Of1gEw8Rr0VT8WTEO0lFkB Wn06nuJmLM2ZsMnoD052m+lVdUJGvIHPBv1o+5M2K2Z6Kyn13BQx4DK+szrFYXfNI/iKdC 4kCTUE2xtzcVSQwOlx4DrLrhKU3LlHA= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 542IttTN008675; Fri, 2 May 2025 19:01:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=corp-2025-04-25; bh=jxcag99Lf5vM47fPYCnfh7DS4x/qq Pn4W6mmCiyQxxc=; b=eyDPLfTNIg/lGMSU8Ehg9wn6GcdCmuIj338tcdrkafRSP WKxGQHVnHEtyQchpZd1iJGpsmUDQUm1kX/dTrqFRt+Qj/TnjMuiLEGpoKESOkd7f Bbho+T8GA3B0bb0coYgzmYN04ksVyD34o458Q6y+M/DwyIwHRNL9fDq62dM/g+El sLqe0rFxCLmfMn8ChDc3yEpyudM3s3VbtcDcMolqGA/hWkprWN1MogANaMQrj6ne GX0ELfp/M2VwnyxAi7MHGU1+IpKdyXj7EST4fdLj3y2QM57zR2Gq3dxffLH+eIVg 5bTEVW2snIGVwHcAQ3hpKDDyy1bfc2NAyGHC5JWLw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46b6uqnw80-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 19:01:04 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 542IFENI023804; Fri, 2 May 2025 19:01:03 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 468nxmc18f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 02 May 2025 19:01:03 +0000 Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 542J12rF022528; Fri, 2 May 2025 19:01:02 GMT Received: from chyser-vm6.osdevelopmeniad.oraclevcn.com (chyser-vm6.appad3iad.osdevelopmeniad.oraclevcn.com [100.100.242.35]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 468nxmc184-1; Fri, 02 May 2025 19:01:02 +0000 From: chris hyser To: "Chris Hyser" , "Peter Zijlstra" , "Mel Gorman" , "Andrew Morton" , "Jonathan Corbet" , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [Patch v2 0/2] sched/numa, mm/numa: Soft Affinity via numa_preferred_nid. Date: Fri, 2 May 2025 14:59:40 -0400 Message-ID: <20250502190059.4121320-1-chris.hyser@oracle.com> X-Mailer: git-send-email 2.43.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-02_04,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=955 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 mlxscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505020153 X-Proofpoint-ORIG-GUID: 0GzJGuw9mQ521sNWC0uU3TYK8B001jDO X-Authority-Analysis: v=2.4 cv=Vq8jA/2n c=1 sm=1 tr=0 ts=68151670 b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=WsHKUha7AAAA:8 a=glSDMOvTweIbZLxOEDYA:9 a=H4LAKuo8djmI0KOkngUh:22 cc=ntf awl=host:13130 X-Proofpoint-GUID: 0GzJGuw9mQ521sNWC0uU3TYK8B001jDO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAyMDE1MiBTYWx0ZWRfX3O7D82ma882B YnNjwCc/FExxz+YSUq0Kfid0Oj+NrU4whetDv1sGfLVwGapkRzfBek5k54rPNyUARU4H2PBFwvN nh/8ltZgo/Qyo0IRWXLlu5P3778Ia8BVyHdi/D5Z2uViPDHk6DvR3IyPAXN11ctgQHQ1EOfvaLR 09gYi/B8GVlmMUI33OMCm/2qKU03UpOKzkiV3HkKRBkbNnMjduzKl07WFnCsZrmrmChRzxCM+EO /Jxm8U2OWgDz5Vx410sozW8JMBIunezPY4iXlkzgNrJMCSwYAYT0HJPBkE//gDlZv4Bsvyqt/dR xH7ICnWAaT44BS7SHaqmro2aztMQvZYb7lRpmoGEZQaSIpmJGAcUoIgm55qcG2X00II0XZK+74x 0xOZjBmrIY4+SpGBY7sXAQUI2Rz3zxxl7NAFk/cNzX6FfQsW1GFTg9mF9O/JkrgekLN17LYF X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 1A0B6C000E X-Stat-Signature: f5fnrbm5bsyos1817oiizp4xyeexs91w X-Rspam-User: X-HE-Tag: 1746212473-920348 X-HE-Meta: U2FsdGVkX18LKlQ+wNt/XcBJpVs3enzKM48QOaPHD7g0TTWmHzDpu72jE0nG3BvE8aEmEc75UFIWtH5Ql6jfn8jVZNE6SeOMiL5AwF5CtVdj5dK3hH+Xu1O5GraBuTUssvHEEYmm5GxJhd/+d/Xpllqg1aUsipC1j5CIHns1+VpTi2wYyuR7f8V0SOnd0Q1aApqByBS87hFIXTN99KT0lQCbH5VgC2NBGiNj1bwnns2tpJiqpwZKqLksYgQFi02Mc9o+V4EOFqYBXzqyx4Zs55SKjksneJ8bAG5hiFmT+iTF5UpPt258r6vaMY7psa2X169IifNlKDtWfC4T6AxKcA37n7Ff1DH5cGcF+Af8i+klKr+ZYYCmxOk8rAHZPXL2PcB12CiGJRT0BzYUVmqlQV2+13QCFkYVl0v6tEmZXM1bEl4hv2QZKD1Cok8+VJ46QKG/USE5wli3uwxiXRTnIsTtIjVt3HmwdPw7Wko0e6XCyyk7RToErv4iJn7g+10e+4IQitHGRXp2K+HuVaFMd0Ktyv5K2RBkg5jpxuh+IEpIUheCFTyrfcq8HJ1lX30xcFCKscEfNn2MARzjW11hwac93htqC7EF2b+q0P/hnV22oRqPMqIvHpOP+arHR1dBLqQwJDPCRY/nH/uC0TU6HLGnpUTn+xN68likIMgeb5n+dKXC3KqhvB5WHn3m5GeW2Q+m+3lbFTiPmWOo5MXh7lUlRwmdnVi9QgXVjiKscv7lPQqufFARWKxiwexL6m6zbxkK4wIJwxmTLDG+sL80sCVF7W5pTQftzi9EG6H+Sz99/Ry948T6YybW3kXolVAHsnCHb+z63yEspMVQYal8JaFTPkfElpSqV5TyNC0s+3VSpeH9mKakkWQRtBUcTcWN889662lumI+2zDnGNFBvjJ0IK2GNSNeh1t2n/exsZII7AdTqAbJQctu9huC9GgzmW/ULL/8BpxbzZEp7mPI eJrxYZmK Whv0JAwd3xOSywfFgJdfU+LjOKLiWWetwCr9gfq+p36LxJOxn78OKfHKHFLOpIUFUmAu1sKWI1UHxIkI+s4MeVsZ+HQXOCWDEqjDsPl42ygJMUKfw/OxdpnFo/SzcANziFy0lLjJhbMd+RjYu3A+t5e6oAfNVkhDFFjKgu3OA/88aVUpldqFM+VAjoXEHOLtuQemlUpxqdeaSOXaIaBXeI3JFAt5i/x3AKQP4jt1yC49xC5XIYGJ7WXFHfwoV1MO3cFDySj/htqn4BPB5ZK/dBUMph3v/pl5ixoFDhWXQv+BqmsCLcEDKIgfy/x99EIlyMv21Ie9di0pzDKgUqXrwY0nydbAVeS9YENm3 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: Soft Affinity (value of hard affinity with graceful handling of overload) as a concept has been around for years. The original implementation was rejected https://lore.kernel.org/lkml/20190702172851.GA3436@hirez.programming.kicks-ass.net/ with an alternative, using numa_preferred_nid, suggested by Peter Zijlstra. This is a simple implementation with most of the changes associated with a prctl() to set/get the value. It does not modify the scheduler's behavior but simply exploits the current NUMA balancing behavior. The intent is to provide a mechanism whereby a knowledgble user, system admin, or importantly, a NUMA aware application can force Auto NUMA Balancing to prefer the "correct" node, for example pinned memory like RDMA buffers or other scenarios where heavily accessed memory ranges are pinned and not subject to NUMA hint faults. [PATCH v2 1/2] sched/numa: Add ability to override task's numa_preferred_nid. include/linux/sched.h | 1 + init/init_task.c | 1 + kernel/sched/core.c | 5 ++++- kernel/sched/debug.c | 1 + kernel/sched/fair.c | 15 +++++++++++++-- 5 files changed, 20 insertions(+), 3 deletions(-) [PATCH v2 2/2] sched/numa: prctl to set/override task's numa_preferred_nid Documentation/scheduler/sched-preferred-node.rst | 67 ++++++++++++++++++++++++++++++++ include/linux/sched.h | 9 +++++ include/uapi/linux/prctl.h | 8 ++++ kernel/sched/fair.c | 64 ++++++++++++++++++++++++++++++ kernel/sys.c | 5 +++ tools/include/uapi/linux/prctl.h | 6 +++ 6 files changed, 159 insertions(+)