From nobody Fri Sep 25 23:50:55 2026 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11011057.outbound.protection.outlook.com [40.107.208.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 235CF4028E2; Mon, 7 Sep 2026 07:25:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788765938; cv=fail; b=kr5bLWtL4v8notUvCXJP5nvmwTh6Tq7vE65qYxXERIZZStW9a97Q0uCNec3zAchyp8k4P0pWrkixtoWx173MrEgXvRrMp+yA5a6BOaXWQTbvs2Qjsh5qOurWn7WWzea7rvwf5wndxyK/F546yal184PVxgiuGEP55zmkk/BLMEY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788765938; c=relaxed/simple; bh=xrU7H+LuLzy+SuPJFHHxlAVuqVsTz9sRLWqyKCys8DQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=DXrRpdUpnB2EZqgWP12kEXY0IDwyqoE0O2YjXKrG9TUj2XhakQEO3Ll+m1RKPxW7GgIKvkpKHn7QuSBsxAjjYeF12CofKQBa55bjdbfKAL3dm3avCgHyo7JsmFv+N89T5nq8Fu8iffehaSz90uhdQEyzA0XMZEb0Eo+Vmg0EbRU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=FYbXACIo; arc=fail smtp.client-ip=40.107.208.57 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="FYbXACIo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=L+JcBFcSEerYhmonKa0avUI+1FGDUf8Ua3LEPhYwMNAAwSJ9zTe2YRwZ9lx5SpbvdTIsrpRsqbRvdWbT2oaVhBjeAk7pOrOi/b7VLqTC0teqv3RFLM1wP9AABlEjXa3/L3/GkzcWAekARboHVHOm2FwEkGbeEbEWp9gHOg4iOM/65l2XfET/h3n4CAK2f2zHnmJo7RJR/3J6UwW8R9uE9QJkKGVMPYFsB7aVXNt86nOILosyrMh8BGdFkCwX6K7JP1ef5SDooj1NGWgmTfLDEH7t6HD4LvJjXXZssVfpvkFdP0R2aSFtqFdb+4nrwFSew4dkpg1nvYZDJYcwnK/+dA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rPdIjorzRTedDhsE33KExSW424HIfCF+NQS7ruuAws0=; b=EdOLGXKPaOTOHEvsuSP333xYD+bUWD6A4TsnLlCEObZpCvq8/e7gNFVUBqBJMDBBeJhEmDyG1nxZRG8awE9vBjT5yyWASP7j0gz5NbisnDz4kS64NSSok9xdxFu7y7cVm9tMa7/b3pK32o4vsw82qRv8rATkiMUU5reVgeeSej5eUS6rzw9Tf2bQy+JG6jXM8rJ9eNB1oR8GufZ1aLDXpdZ7JSPfprwGRrE+Z/H41zCMwHEby4s2SCUELO4X+Srksn7gT/2HapfGdEMTX7QKacqAB3mJuYdmj+axx7HX61xMbpR1BE+h3eXvjIeYMi+p/2B1R5YZsOsU5agnj5Xqtw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rPdIjorzRTedDhsE33KExSW424HIfCF+NQS7ruuAws0=; b=FYbXACIooldUmueZHH4GFDecmAMO6Hqh1Yw5SwjHBTxfaraWz2soMToGeDH0aiVAnq2wEXgRU5EHiIXmR5SCAPh1bPJaN6I+FwlcPZoGnjSytT1pFT7DDywnzVLT0RdOZB5+eRtyvZDks+PrxDrUPhUulTKasz4Nhu24InNMyR4= Received: from BN9PR03CA0713.namprd03.prod.outlook.com (2603:10b6:408:ef::28) by SA1PR12MB7441.namprd12.prod.outlook.com (2603:10b6:806:2b9::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.12; Mon, 7 Sep 2026 07:25:32 +0000 Received: from BN3PEPF00022BBA.namprd04.prod.outlook.com (2603:10b6:408:ef:cafe::31) by BN9PR03CA0713.outlook.office365.com (2603:10b6:408:ef::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.14 via Frontend Transport; Mon, 7 Sep 2026 07:25:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BBA.mail.protection.outlook.com (10.167.248.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Mon, 7 Sep 2026 07:25:32 +0000 Received: from [127.0.1.1] (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Mon, 7 Sep 2026 02:25:28 -0500 From: Shivank Garg Date: Mon, 7 Sep 2026 07:24:57 +0000 Subject: [PATCH v3 1/4] KVM: selftests: Prepare guest_memfd_test for arbitrary NUMA nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260907-gmem-selftests-fix-v3-1-7a4be5c1cc8a@amd.com> References: <20260907-gmem-selftests-fix-v3-0-7a4be5c1cc8a@amd.com> In-Reply-To: <20260907-gmem-selftests-fix-v3-0-7a4be5c1cc8a@amd.com> To: Sean Christopherson , Paolo Bonzini , David Hildenbrand , Shuah Khan , Jim Mattson , Peter Shier , Ricardo Koller , Ackerley Tng CC: , , , Shivank Garg X-Mailer: b4 0.15-dev-47d62 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788765924; l=5772; i=shivankg@amd.com; s=20260518; h=from:subject:message-id; bh=xrU7H+LuLzy+SuPJFHHxlAVuqVsTz9sRLWqyKCys8DQ=; b=Amu+goajO5c/yF7vi9DQPyKUuWGur1ZKTYB2rq/c+o5V+uG+wYU/iktPT/IsZXmLzFkO/IyE+ TTZd8Di217sDBZxxMliCd06ptEb5dtcIyNkJ5q0985Nnor2PsFSGVnv X-Developer-Key: i=shivankg@amd.com; a=ed25519; pk=2l2QGTeXuGkZTtfmx0nPQU8iFZfjYmX/ymMojitevx4= X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BBA:EE_|SA1PR12MB7441:EE_ X-MS-Office365-Filtering-Correlation-Id: 3d0eb053-8a18-4c1b-7acc-08df0cb13361 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|1800799024|82310400026|23010399003|376014|7416014|10067099003|6133799003|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: wrm+WjTSRydxH4GFJeD9VubnJm2YRUMa3EjRNL4GwCUuV5I8qBc2d0at+zcIZYFEUOUXKRCGf7UplCAPadQSq4qfxxzzwFdrwP9GndIVAukN0jlAZxffQeRoqAKIWwyEUr/fUJ3rpm5ukHzw+LgUmLQhpHMa5vAm82iJNwYzwhkK/Z0qaK8COyhHs32wVjz5Sg+WdW1czNdB7+Klu12xUe923m5OPuxP5QI5NBrEIsx+EBQrTBwsjoBf/lbwOVLr4jmNk7f8q8YjbRW3TuOKBqDN43gpADRGGVXn26bCF+ZCbctR6T4YNDag1zy5f0TDfZU/utQHIHuXAbyyyU1t9NHdjvVzIlrbBzYvAsn8XzqEwovWwvaTqS5AjA+Mg1hTsOnrBUbmZOMeooNbXRHrWkmdOM0ivAztRHCihXkgTAtwdWUpHrE6KOqf863ShF7xmbxxHpgaBO2/xng1caQH3ej+uaIJTYHheMk9Aj53LZ1Bukt/tIwWLQwWKZ/SFxAtDbkPvkXtdNXydFLcziMb0ACsqBSpdyuyKD+q4lbg4YdF6gyqyak60xiRBZjIyfWMTuzgltaP3ZU99455EeQFI7I2N2rqUIgGDpJJz2SSIm5f2btHcuJPfpRwlwA+2S0VOpwAZdwZWKWH0lrm/c5jr8HAvrb97tIgddJ4J2PXJHfRSdaVT01LZt0/RH00BaSbXzMc9bxHk7qBLY1kEeOBHA== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(1800799024)(82310400026)(23010399003)(376014)(7416014)(10067099003)(6133799003)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5vJYChCvxmPknaotJyLz2GCm0g/tkkpJQIEr/tw+0KT1U9I7brKW6zJqS9RFwcYNRLQNEYnaSnLGs0I7vNjDBv9JzWuZS4KkKAid6Ve5xSsgHXLJShgfB7joqoWVVL5ofoCcd+ljtcYljg90WrDeipVnDCRP6P1YYaKBdOsd8D0mw+wdONeDICD8cII0IbyYrMVA+xbDhXAPQ9ooPyV8RXw52uFJOGIMWIPLNAAze2A7Mr/WbdAoHmaNelnCbsC+f1mjyj8+CNDOtNMEX+tGZfyXMS5a44ZhK9M+Odnfc2MyumycYcUksJ5LtCzmrt7vLEtjpfo+9qZqPCgfkI48tteh4VUwQiVSqyUg1CsnJNJ2YY3v5BT2Y5w0Ek3Wk2vqpsnbpbA2e3Dz5giwc14cED3rHGmJ8smYpLoVJ2UyX8idDbWjUGjcW8KEv7lXUVoQ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2026 07:25:32.0234 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3d0eb053-8a18-4c1b-7acc-08df0cb13361 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BBA.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7441 Store the NUMA node IDs used by test_mbind() and test_numa_allocation(), build nodemasks from those IDs, and use the IDs when checking move_pages() results. This prepares both tests to select nodes at runtime instead of assuming nodes 0 and 1. No functional change intended. Signed-off-by: Shivank Garg --- tools/testing/selftests/kvm/guest_memfd_test.c | 53 +++++++++++++++++-----= ---- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/tools/testing/selftests/kvm/guest_memfd_test.c b/tools/testing= /selftests/kvm/guest_memfd_test.c index cd5df88bc642..b3bd03167ba8 100644 --- a/tools/testing/selftests/kvm/guest_memfd_test.c +++ b/tools/testing/selftests/kvm/guest_memfd_test.c @@ -78,31 +78,35 @@ static void test_mmap_supported(int fd, size_t total_si= ze) =20 static void test_mbind(int fd, size_t total_size) { - const unsigned long nodemask_0 =3D 1; /* nid: 0 */ unsigned long nodemask =3D 0; unsigned long maxnode =3D MAXNODE_FOR_MASK(nodemask); + unsigned long bind_nodemask; int policy; char *mem; + int nid; int ret; =20 if (!is_multi_numa_node_system()) return; =20 + nid =3D 0; + bind_nodemask =3D BIT(nid); + mem =3D kvm_mmap(total_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd); =20 /* Test MPOL_INTERLEAVE policy */ - kvm_mbind(mem, page_size * 2, MPOL_INTERLEAVE, &nodemask_0, maxnode, 0); + kvm_mbind(mem, page_size * 2, MPOL_INTERLEAVE, &bind_nodemask, maxnode, 0= ); kvm_get_mempolicy(&policy, &nodemask, maxnode, mem, MPOL_F_ADDR); - TEST_ASSERT(policy =3D=3D MPOL_INTERLEAVE && nodemask =3D=3D nodemask_0, + TEST_ASSERT(policy =3D=3D MPOL_INTERLEAVE && nodemask =3D=3D bind_nodemas= k, "Wanted MPOL_INTERLEAVE (%u) and nodemask 0x%lx, got %u and 0x%lx", - MPOL_INTERLEAVE, nodemask_0, policy, nodemask); + MPOL_INTERLEAVE, bind_nodemask, policy, nodemask); =20 /* Test basic MPOL_BIND policy */ - kvm_mbind(mem + page_size * 2, page_size * 2, MPOL_BIND, &nodemask_0, max= node, 0); + kvm_mbind(mem + page_size * 2, page_size * 2, MPOL_BIND, &bind_nodemask, = maxnode, 0); kvm_get_mempolicy(&policy, &nodemask, maxnode, mem + page_size * 2, MPOL_= F_ADDR); - TEST_ASSERT(policy =3D=3D MPOL_BIND && nodemask =3D=3D nodemask_0, + TEST_ASSERT(policy =3D=3D MPOL_BIND && nodemask =3D=3D bind_nodemask, "Wanted MPOL_BIND (%u) and nodemask 0x%lx, got %u and 0x%lx", - MPOL_BIND, nodemask_0, policy, nodemask); + MPOL_BIND, bind_nodemask, policy, nodemask); =20 /* Test MPOL_DEFAULT policy */ kvm_mbind(mem, total_size, MPOL_DEFAULT, NULL, 0, 0); @@ -112,7 +116,7 @@ static void test_mbind(int fd, size_t total_size) MPOL_DEFAULT, policy, nodemask); =20 /* Test with invalid policy */ - ret =3D mbind(mem, page_size, 999, &nodemask_0, maxnode, 0); + ret =3D mbind(mem, page_size, 999, &bind_nodemask, maxnode, 0); TEST_ASSERT(ret =3D=3D -1 && errno =3D=3D EINVAL, "mbind with invalid policy should fail with EINVAL"); =20 @@ -121,9 +125,9 @@ static void test_mbind(int fd, size_t total_size) =20 static void test_numa_allocation(int fd, size_t total_size) { - unsigned long node0_mask =3D 1; /* Node 0 */ - unsigned long node1_mask =3D 2; /* Node 1 */ + unsigned long node0_mask, node1_mask; unsigned long maxnode =3D 8; + int nid0, nid1; void *pages[4]; int status[4]; char *mem; @@ -132,6 +136,11 @@ static void test_numa_allocation(int fd, size_t total_= size) if (!is_multi_numa_node_system()) return; =20 + nid0 =3D 0; + nid1 =3D 1; + node0_mask =3D BIT(nid0); + node1_mask =3D BIT(nid1); + mem =3D kvm_mmap(total_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd); =20 for (i =3D 0; i < 4; i++) @@ -149,10 +158,14 @@ static void test_numa_allocation(int fd, size_t total= _size) =20 /* Validate if pages are allocated on specified NUMA nodes */ kvm_move_pages(0, 4, pages, NULL, status, 0); - TEST_ASSERT(status[0] =3D=3D 1, "Expected page 0 on node 1, got it on nod= e %d", status[0]); - TEST_ASSERT(status[1] =3D=3D 1, "Expected page 1 on node 1, got it on nod= e %d", status[1]); - TEST_ASSERT(status[2] =3D=3D 0, "Expected page 2 on node 0, got it on nod= e %d", status[2]); - TEST_ASSERT(status[3] =3D=3D 0, "Expected page 3 on node 0, got it on nod= e %d", status[3]); + TEST_ASSERT(status[0] =3D=3D nid1, "Expected page 0 on node %d, got it on= node %d", + nid1, status[0]); + TEST_ASSERT(status[1] =3D=3D nid1, "Expected page 1 on node %d, got it on= node %d", + nid1, status[1]); + TEST_ASSERT(status[2] =3D=3D nid0, "Expected page 2 on node %d, got it on= node %d", + nid0, status[2]); + TEST_ASSERT(status[3] =3D=3D nid0, "Expected page 3 on node %d, got it on= node %d", + nid0, status[3]); =20 /* Punch hole for all pages */ kvm_fallocate(fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, total_si= ze); @@ -163,10 +176,14 @@ static void test_numa_allocation(int fd, size_t total= _size) memset(mem, 0xaa, total_size); =20 kvm_move_pages(0, 4, pages, NULL, status, 0); - TEST_ASSERT(status[0] =3D=3D 0, "Expected page 0 on node 0, got it on nod= e %d", status[0]); - TEST_ASSERT(status[1] =3D=3D 0, "Expected page 1 on node 0, got it on nod= e %d", status[1]); - TEST_ASSERT(status[2] =3D=3D 1, "Expected page 2 on node 1, got it on nod= e %d", status[2]); - TEST_ASSERT(status[3] =3D=3D 1, "Expected page 3 on node 1, got it on nod= e %d", status[3]); + TEST_ASSERT(status[0] =3D=3D nid0, "Expected page 0 on node %d, got it on= node %d", + nid0, status[0]); + TEST_ASSERT(status[1] =3D=3D nid0, "Expected page 1 on node %d, got it on= node %d", + nid0, status[1]); + TEST_ASSERT(status[2] =3D=3D nid1, "Expected page 2 on node %d, got it on= node %d", + nid1, status[2]); + TEST_ASSERT(status[3] =3D=3D nid1, "Expected page 3 on node %d, got it on= node %d", + nid1, status[3]); =20 kvm_munmap(mem, total_size); } --=20 2.43.0 From nobody Fri Sep 25 23:50:55 2026 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azon11012049.outbound.protection.outlook.com [40.107.209.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 53165415F3A; Mon, 7 Sep 2026 07:25:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.209.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788765940; cv=fail; b=nBpw4790nV9Qk81ZpTDTWji6eg/gm3qlkKJQGj2mauN4GdipIrDEITDPnuU/yV1TGzr7SYIJN11+IXqw5rLWZUYfO0KZBg94KepP6EdEnDM2AniLO3HH0qzOq/WMy+p1GLaO+fPHQR/FcmRQXwG+D4uvqm8EFhS5x8/IgSiLLsE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788765940; c=relaxed/simple; bh=wJGzYlmfGqp8k2emw7SOgEW9PK15w8sBBTkuozEozyA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=X+2/iLHfhiDAFkJqFCsy5rvaCBKCJN2j+jFyFfiUc8zo3C2b6Z7EL9vEArtnMHuc1raC1bkxA+wd+f1L29mwxLkAk4pJwSdCuEC7R3/fncALQ1xDKL1TfWC44eH5MS/JOF38WSbcLjqZLmX2qCdAe2OnaTrv5UA+0PREspFI8Ik= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=kJ/SYlE9; arc=fail smtp.client-ip=40.107.209.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="kJ/SYlE9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NfrvBnC10GMNfboxw3YAzVDqawrx3d5sRlsmdOwvVjvMKdGkY+zCUDYg/10NU7XdSnb/fCKAeQD8F8wpuMKQ4WdAjW6IwH9m9wN2CTXbXbea9Lrnaxmb8kMBcnMUNDblWnj6Eut1TW3BodisOOrET2Zhp86lL0UX8e0POaNRBIBWFd9itBGHQ3jH5joYzk+mFGih/Y92lzickOvY5dYFYXkqn0zRhNgDU9ibnBBVcYvk7YkrfhQWieqxuxgngONailjoHD0RrAflE/3yYUivXxZACawHUI03G/y8ZDbzi+OBvmlxAp0DHOONU/8fjQvd5bomOmwcXGQSXI4n9c+IXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8+VJb8KAWLEU0qNIxxBZUOcoOZcSuH3xqDz8x45AsIo=; b=vbnm+3oxP3daOcjfy5NNQ9vgANYFfkeOQJZF8+daQFxhWdyEr7ZXrdIu2O/ScAJUpoDfLcYhSt03iDAuIM1B4whxoKp3W+hUZVwu0g6mrP+UdlVrJnXy5CKSkUmK+Q6rjZh+BApwtk6hboaea9aYD/e/xxKZJfYSpJpy/IFYHguc7H/iFIAG+0J0pWVrB7y2xw+s1xZnSlZLV8jYVj9NwFXHuRb1XO0WD4Sb6NfFG7tgbPM137SW2dl8Z7uQ0dFgO5+rWsBEpJ8KEvcAXxknJ8pOYvvpOQSVP1lIQwPZimfzxZx5oPVyewm3hTt7Td/sKZLs3v5X7OqKc3vuWnzl4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8+VJb8KAWLEU0qNIxxBZUOcoOZcSuH3xqDz8x45AsIo=; b=kJ/SYlE9Iq+fwjMSRA9zFq/VUMAc+EvkoYIzAseip3g/7mV4z6zCOXZUEMvTF7YHfJjihzar5VoQNj3v7fCA7O955L+diW5hsOGBx2fJr1MQ5yZQRAhPXPmTiZYpN2m9CjJFJ25RVO6OwtEDiIFGjhBV4HAjl15wbyeG15cxpJs= Received: from MN2PR11CA0028.namprd11.prod.outlook.com (2603:10b6:208:23b::33) by SA5PPF0EB7D076B.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8c5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.15; Mon, 7 Sep 2026 07:25:35 +0000 Received: from BN3PEPF00022BBF.namprd04.prod.outlook.com (2603:10b6:208:23b:cafe::4b) by MN2PR11CA0028.outlook.office365.com (2603:10b6:208:23b::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.15 via Frontend Transport; Mon, 7 Sep 2026 07:25:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BBF.mail.protection.outlook.com (10.167.248.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Mon, 7 Sep 2026 07:25:35 +0000 Received: from [127.0.1.1] (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Mon, 7 Sep 2026 02:25:31 -0500 From: Shivank Garg Date: Mon, 7 Sep 2026 07:24:58 +0000 Subject: [PATCH v3 2/4] KVM: selftests: Use an allowed memory node in test_mbind() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260907-gmem-selftests-fix-v3-2-7a4be5c1cc8a@amd.com> References: <20260907-gmem-selftests-fix-v3-0-7a4be5c1cc8a@amd.com> In-Reply-To: <20260907-gmem-selftests-fix-v3-0-7a4be5c1cc8a@amd.com> To: Sean Christopherson , Paolo Bonzini , David Hildenbrand , Shuah Khan , Jim Mattson , Peter Shier , Ricardo Koller , Ackerley Tng CC: , , , Shivank Garg X-Mailer: b4 0.15-dev-47d62 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788765924; l=1286; i=shivankg@amd.com; s=20260518; h=from:subject:message-id; bh=wJGzYlmfGqp8k2emw7SOgEW9PK15w8sBBTkuozEozyA=; b=xerR8Gg1d1IbkUCjOgfZDWyolx05ImS9kdmxDAIBJ9Q3M238EIU3/G2HSc8gekQpMuHyg4LdV ePF9TvLL8tSDfpkLkAZc46fUUJEfmB2j4/1GkECD0HqjpG0vFXOv/x6 X-Developer-Key: i=shivankg@amd.com; a=ed25519; pk=2l2QGTeXuGkZTtfmx0nPQU8iFZfjYmX/ymMojitevx4= X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BBF:EE_|SA5PPF0EB7D076B:EE_ X-MS-Office365-Filtering-Correlation-Id: 10696e89-5ffc-4590-eee9-08df0cb1355d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|1800799024|7416014|376014|82310400026|23010399003|6133799003|10067099003|11063799006|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 8zgiaW8ZbTv8DM34LaPED9PJRqqM7JCtCIy9JaUDd/nPzgioIa3erb27mlcy1ShdmRyxdA9vqc9NTqPPcAOmlVww1uLrKnVgjHlSAYcwANNEOBEdZrZUbDWXVNKT6cua/eYJcnD7IvFVvyuC9in+jjY3R5f0jqn/jPHk/coeG9bswKuV1lnLbf+xxdgq1D9orc+9ecttwzygq26cdTKKzjBQ7JBbA243nKk8F4TywzuKzyFm7Q6hPnAJfwPqNzk/+JSIT98U37gZcxXixxBM70O422jbR+WrYe5h9OfHEjoN1T/Eyfv38Rb2cYi6UNu+xCbJks9+hoLNAg19T18HuwT56zJg226KKZTTZpuC8F7YHCIH0k/azYokeFZlIUUAVIfHBKTW92eJA8KqKkphkesU1rjhFY+cxN0S6YBgp2K28I7g0uuWgwYnZd+7vC43exUAPdZZGis/aBn6HlgSLvbdWc3tGP7OQDxnsnWYlUoKLF4AOJr22eO+HEkBRHsplPQij+/5LyexnU0+8KdhsQ4Rg7/OLPZZ3Ra6CyvdGb4uf5LqzHtLvYnxloN6312d7EGeEoMEcfLWwfSkXNLz8p8ivQ8guQFGASMKxQQVZ2k4GwCRY01MuV72ohun3QTWld8WOdEXhaPx2iAq2ZGGtTEBvjnV9QWxyvDLmqYe4hZRGhtIZYCFko4ZZf7PCZjAV0WL2GyCSCzq2FNQu0AEdA== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(1800799024)(7416014)(376014)(82310400026)(23010399003)(6133799003)(10067099003)(11063799006)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: w+8aWihI/4aCZlNXYZ4+EAbMToMDzvj4+qoeKe1EhO/yuvvNwc+bUgy7iMhG156LMaOyYjqOOfXI2NDMeAq6IuKSdq1pzMHaT8KG201rv0kcpoqYJ0THOd9ezs70xqoQVRsaRb+sMxAh9mNhPCApTjj/t89+tk/Ix3IIKOoXx7t/N2MH727Ttj3354xKLhzghh7WyrQraumSBijFGXxtuqdcc3LyMYHDmlh0JbT3qh0+a5H5S2Leqw5ZbzBpk2HSOe9EyXnRBvLOzDoLaj7NbLVYuQvczBw2l9MGWeOuCjfhr8b+Ru1bvl4p9SzxiNQKj+IKQhGFOxdCrHgEc8zQ2ZqPPSXnxOt9pZXuaGspXQEnhm+4oB1t7XAzK8mvrtirZT3skdCMLE0cUoMTZtCgi2kKyGYHJqT9ZWbN8BKcMpC5tANo5n6cx1h1DvCb5UiO X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2026 07:25:35.3581 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 10696e89-5ffc-4590-eee9-08df0cb1355d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BBF.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPF0EB7D076B test_mbind() hardcodes node 0 and skips the test unless sysfs reports more than one NUMA node. This can fail if node 0 has no memory or is excluded by the task's cpuset. Pick a node from MPOL_F_MEMS_ALLOWED instead. The test only needs one node, so allow it to run on single-node systems too. Signed-off-by: Shivank Garg --- tools/testing/selftests/kvm/guest_memfd_test.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/kvm/guest_memfd_test.c b/tools/testing= /selftests/kvm/guest_memfd_test.c index b3bd03167ba8..ea8e38064e83 100644 --- a/tools/testing/selftests/kvm/guest_memfd_test.c +++ b/tools/testing/selftests/kvm/guest_memfd_test.c @@ -81,15 +81,16 @@ static void test_mbind(int fd, size_t total_size) unsigned long nodemask =3D 0; unsigned long maxnode =3D MAXNODE_FOR_MASK(nodemask); unsigned long bind_nodemask; + unsigned long mems_allowed; int policy; char *mem; int nid; int ret; =20 - if (!is_multi_numa_node_system()) + if (!kvm_get_numa_memory_nodes(&mems_allowed)) return; =20 - nid =3D 0; + nid =3D kvm_get_next_numa_node(mems_allowed, -1); bind_nodemask =3D BIT(nid); =20 mem =3D kvm_mmap(total_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd); --=20 2.43.0 From nobody Fri Sep 25 23:50:55 2026 Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azon11010017.outbound.protection.outlook.com [52.101.201.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E810341A928; Mon, 7 Sep 2026 07:25:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.201.17 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788765943; cv=fail; b=UZ3rN9P9Zs9bhTh3Y+sQboW+MvAg7ltfp/l8imqS1DatEgYjrRZdJdAttOBdy6cjy5/s5O3rGGk7JEaIuSPK04Qa64c5hCrsFM8rhqinOvmNpSfyBHFGuuUnoBjyCLtC7s8IloGqfZOsOAkYsju45a8WIvRyD0Y9G/YCAtOzvwM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788765943; c=relaxed/simple; bh=g8xA/CeHWn0fR5gMmhuAeudgM8redQtek7htLUdbMYk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=M5aOvXiktz9aM7XtixCqGMHmUOTq7ADJLlbqtpdbx9/FhNOuIwoeHraLhejpslCOScoZ/AyvsW3WHOOf+bk1Gj821ALPy0jDMcV/N9rBVLjGfq6yI8UlrwONJYmFSjJVxXSHUdn7QmvrBNYWuD6in+Y7l9bxMAsGX/n+q6587ic= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=0LOVnNTT; arc=fail smtp.client-ip=52.101.201.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="0LOVnNTT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g9J+gzk7zB/gGQMXiVaf4grf//7+oDe1z+Et0qYC5DGEBsohX66dQ0C9+qqfsf2ioEVdA/KlBVFQYJjYctNewBDrAW7+ekz9XRvYwGg3kNzuq8/J1SbhZ3enEJyFqOnL5pTf1oGsOrdaaLr8AeZ+00h6h61XX/Ywbv9YUO0IaI2OLvzvj2+qk2GJvHSuLPeRn7lo1okdc5lpa2W9P762CboyM7LvxYH1s5zxqVbkbfFy5TRUu+xZ189Flf0K4G1jySkkeoMV2jlbnP3/tLIP2FaxASo3QS1EPs9MH4UGPMJbBWMZC5/DP9+p4Y1CBTlTFoaa6Em3VK3AMvIytUUvFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=l4K3bxeZnSamcBpFP4KaOX4+XQnEc650cp29dSj74Xo=; b=gfzBHxTOVgfmA9TRBvSstKa+BhEvq7ninCiEFQapjeF3NYuLXOVxPQE8HDmjx946O1ckbnx82cjiUJT/1L5ZW0QRgd01InAgeTlvpd1t2RHj8buZgwfQp8zx6uOrTZSK1vLmdctdzBWNpNkl23MDNZeqNpj6dOysITeWKxyGoL1H8VcVtyI5vYVcDNUnMi5ik8hgNlmZwq0uuarINbDde9JtP1/AqT8eB/KkGVfd+sjpN6cnkw7atbkuXZ7Q+W4PWb7z1ogjA7vywuD713/cOJN4NB/OEdksQ3aEMvhaQiqn3fiFjPNygHLbwkiOvtKlZDAT4nzgY8q6tU1OLquDcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l4K3bxeZnSamcBpFP4KaOX4+XQnEc650cp29dSj74Xo=; b=0LOVnNTTuW01PCL8QPgQrgOdtTWvLizl/9NE2PW8f+ovlYRCjkmCQzVuKzPDZexDiX7K4JYAJEFOnV/SFHrSIbazjakcNPYlL55Wdoh0EZEwxtYOUSULcYrtI+t+B6Ux47rjFt9ybbQC2NJsOaxN4KQlBhnfGyNAR7NLCesZkR0= Received: from IA1P220CA0016.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:464::10) by LV2PR12MB999071.namprd12.prod.outlook.com (2603:10b6:408:352::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.15; Mon, 7 Sep 2026 07:25:38 +0000 Received: from BN3PEPF00022BBC.namprd04.prod.outlook.com (2603:10b6:208:464:cafe::7c) by IA1P220CA0016.outlook.office365.com (2603:10b6:208:464::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.15 via Frontend Transport; Mon, 7 Sep 2026 07:25:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BBC.mail.protection.outlook.com (10.167.248.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Mon, 7 Sep 2026 07:25:38 +0000 Received: from [127.0.1.1] (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Mon, 7 Sep 2026 02:25:35 -0500 From: Shivank Garg Date: Mon, 7 Sep 2026 07:24:59 +0000 Subject: [PATCH v3 3/4] KVM: selftests: Use allowed memory nodes in test_numa_allocation() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260907-gmem-selftests-fix-v3-3-7a4be5c1cc8a@amd.com> References: <20260907-gmem-selftests-fix-v3-0-7a4be5c1cc8a@amd.com> In-Reply-To: <20260907-gmem-selftests-fix-v3-0-7a4be5c1cc8a@amd.com> To: Sean Christopherson , Paolo Bonzini , David Hildenbrand , Shuah Khan , Jim Mattson , Peter Shier , Ricardo Koller , Ackerley Tng CC: , , , Shivank Garg X-Mailer: b4 0.15-dev-47d62 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788765924; l=1507; i=shivankg@amd.com; s=20260518; h=from:subject:message-id; bh=g8xA/CeHWn0fR5gMmhuAeudgM8redQtek7htLUdbMYk=; b=SDQLdlg1+DTikZDZ4zRvSauz7xY4G419iKJBs4hXVuP24dXo67xKHBTwP2rJhY1lYLBOcRsF+ +IJ3OrzIUVOAyAdGAK9vtrnkkcaf8eJGbKbgLSB1boyPKGkuSupjbjd X-Developer-Key: i=shivankg@amd.com; a=ed25519; pk=2l2QGTeXuGkZTtfmx0nPQU8iFZfjYmX/ymMojitevx4= X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BBC:EE_|LV2PR12MB999071:EE_ X-MS-Office365-Filtering-Correlation-Id: a0f8001d-4dd3-4ac2-ec97-08df0cb13759 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|82310400026|36860700016|23010399003|1800799024|6133799003|10067099003|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: vwMVea0oZEX39Xvir3yLU2nhZ87W9gFBpV1BE38QRVq9fG16B3bd3jR6YWlAPWgqEpTceS7xuYokw5AuFLTpi4TSVT5Jzp6TipzZ8K8oI0l7Ad6Gc3iKWS2o2Y1MZJy+JuFu5JyRJgnwq/5IUDB89LHaXi7brv9NJfb2mSk9sLR4t0MgrTi//7VinYXhCjzertWth3ijibUuL90MAlnpCxu/zdpYasEmyONbe9yr5RXmissOl2sHSZ2fiIU76GD3f7DHYEDD4B477COCJwAQVsKv9J3TBXVPkM7sM+6AfwED+TyWOV/CC+QbbMfSqNllpf9tk06YyX+bS9fsCWo7WP2KtviCfmhzOXfpcJdFmd3MTkT+0RS5O4JErW3SOjJqAtpDt0ZEmLqYPnVSOBQ9QTdNEwPMHcdfWhRvQF414tFT72091Hy7drlvuLdZHtJVoXkTPxhH9feAHOyMspstN/5xTxVSqox88HBWvJNQ4bYSwwKgfPqcmNtdLctlS8mDALvxiOHHHa9p9kl4Ft8GrngYugktOS6QS71zg7bRm21+nA1x5Qe1ykIMiVHUG3b5tVv7EmpyGlcvjpWbTkqgWmJcsSMJvYi20SxHuoINZEk7qTKcQd0Njq/8gtWv/TFEhW5Oi+wT2mcy70vaOkBeRzaiLn6f+G8KvBwO9ehu+VZJ6p57Xa11zBnrTbe2oN6Ckrx4Xg7EUbNLquJcdgMhEA== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(36860700016)(23010399003)(1800799024)(6133799003)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KJFld7h6ltFN1UyR9xzFOEd565oxYw26iFHN6n89my1NXVgalcl4R2haQXE1yo08ZozdaZt1hYPNRAg1kfMhrWxmyCnJn0F/83vCJ4OKdHWiuqcYHoOjrY9PPh9Uit2csHHTlcmpzrrXasSNbpvoAJr0e9CZu5V2B02aKnAUsRUH6vmw+wib4WjRvNiko26ml3aICWzcmIW8mlK5A7w5lauEPYWuAJvTMwMcxRJzu6suiHQY938Glv+5GwAPbaYtl+WlOVG8ciGqWXj7UoyLTGX4X5JGdjUsNHsE21er9potZTrUzZGUha1dQ62eKLVBTsrWPcEFFu+5oxYd9M1RPzmd6mzlXIro9m5siTcQeLIqdOSkqIpA436zgwZzBSTpQywKjJueijDSi0geBT9AK9OFp0dR68yRAkJB/CqN+sgfTDGiGu0XRbotKjqP4Km6 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2026 07:25:38.6860 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0f8001d-4dd3-4ac2-ec97-08df0cb13759 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BBC.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB999071 test_numa_allocation() assumes that nodes 0 and 1 exist and are usable. That is not guaranteed on systems with sparse or memoryless nodes, or when a cpuset restricts the task. Pick two nodes from MPOL_F_MEMS_ALLOWED and use MAXNODE_FOR_MASK() when passing the masks to mbind(). Keep the two-node requirement because the test verifies that pages are allocated on different nodes. Signed-off-by: Shivank Garg --- tools/testing/selftests/kvm/guest_memfd_test.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/kvm/guest_memfd_test.c b/tools/testing= /selftests/kvm/guest_memfd_test.c index ea8e38064e83..cc5abca1adae 100644 --- a/tools/testing/selftests/kvm/guest_memfd_test.c +++ b/tools/testing/selftests/kvm/guest_memfd_test.c @@ -127,18 +127,19 @@ static void test_mbind(int fd, size_t total_size) static void test_numa_allocation(int fd, size_t total_size) { unsigned long node0_mask, node1_mask; - unsigned long maxnode =3D 8; + unsigned long maxnode =3D MAXNODE_FOR_MASK(node0_mask); + unsigned long mems_allowed; int nid0, nid1; void *pages[4]; int status[4]; char *mem; int i; =20 - if (!is_multi_numa_node_system()) + if (kvm_get_numa_memory_nodes(&mems_allowed) < 2) return; =20 - nid0 =3D 0; - nid1 =3D 1; + nid0 =3D kvm_get_next_numa_node(mems_allowed, -1); + nid1 =3D kvm_get_next_numa_node(mems_allowed, nid0); node0_mask =3D BIT(nid0); node1_mask =3D BIT(nid1); =20 --=20 2.43.0 From nobody Fri Sep 25 23:50:55 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010057.outbound.protection.outlook.com [40.93.198.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F70B415F3C; Mon, 7 Sep 2026 07:25:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788765948; cv=fail; b=mUKq7p3Qos5qLv9uMuQxkPatLzEB8CSbaVg6tZhi+OQZOkaHT2OGl0xEnX+azmPXB9ZAfW/BElfmzrZbbwo/5hgq+W59fPfRKnr4npdadmPu8eKmiQvuVz/WLd6FnSDpQaPwGufBTg7jAW31cUZ1QOrY/dlb3nfpHnqARE9v+Ao= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788765948; c=relaxed/simple; bh=yukzV0l0ZMwqNLaEq60fyFmbcjXdCl8xNnL0q0m7xp4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=L6U5DgXg6LqTeRKVfnCSEfqvhfi2dS/HT+6MLxDrgey0MAo296iiLWqZ90s3gbaTThsX2TIiO1XxqOdvUoX8q2EtX2ijlYA9DRWgjW0sXzZ4JRM32pHgYKZQKfofdQE3vUeBGzNW5RRk9FcnLEknvktfXn4mjtH+4hQdlPXCLwk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=xg64y+bn; arc=fail smtp.client-ip=40.93.198.57 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="xg64y+bn" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Wq5opcUtF733NaEZEoJ3CuiXReQlxn4eB1OhfgqMWPbgWp5XTFnzjz0JMHXDY8N+Ybja4IsQafju0Zdw4TOUJqP2CvIKZw0i6QH0YN28woOdalq+16aCJ4sFtmTnvtzWocviISLHDGpVeX0ipRTfA8LoMdZz057qh/OVrDuGa7yCZEyXJNia3n67Ky8CSM+QgzhY8Paa8cAe48jqqOB6+4FbaJ9hOIBUPiloNOWUpiXaNKOKxAvbJlfzXbXVpwmA6vPStKuvQw7Ma1R1vWUtyyROmyrOe4BV6tkWKZiBTIW7Io5nk9eNLhAPadbP7eDqnjcDsJk1/EJgiPp5ANdRng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZJZiJRDldMAZS2uz1ngzE1FHNtPDhjb+6i7g5ZUTCHk=; b=guWwR6fgmApgTK8UmA02e6ikbI9S0LwMRGddRWVfhkwzFNngzb9eF1+xNV4cacTR3/GaGlODARb1sKGb7pjIMoy1bhETLh7F75X7OY9NU3BxxLdlZbVqv3KL8R6GVq7yo2qBE/RwR2uuxFZEHoYE0FyMDL8jGHdLKJ6dVT2HIVxwBGlCAsSu+zsuCAEtz6/mSwMx5d/Arqilb0jszlV6CKP9Wxqm40OZNFwnbOTawxIprI4c+UJ9lgpYZBxW0x5EeWbNR/chWcA9CfhHZhw9Hw1FgM4W/HRgtKPC6F3b71J3I6oVJ2/0gYC598HN8JCgC+oVwI2v06YkoN28pBCrAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZJZiJRDldMAZS2uz1ngzE1FHNtPDhjb+6i7g5ZUTCHk=; b=xg64y+bnq4PJAWeJkcLTJOGl36gczuuvmZszhjYGMhME060+98a57wqBIoD9J82cE02w958wUwWykJmrEuFYBgJ+rITgBwpBfkYflIjFfWEKR+R12AEJuCJ9gIE9P1MkIzDxwDmkl36Uoxggxl0rAoKIgZVHM01Iw6podrw28NA= Received: from IA1P220CA0022.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:464::11) by DSVPR12MB931903.namprd12.prod.outlook.com (2603:10b6:8:4fd::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.15; Mon, 7 Sep 2026 07:25:44 +0000 Received: from BN3PEPF00022BBC.namprd04.prod.outlook.com (2603:10b6:208:464:cafe::6c) by IA1P220CA0022.outlook.office365.com (2603:10b6:208:464::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.15 via Frontend Transport; Mon, 7 Sep 2026 07:25:43 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BBC.mail.protection.outlook.com (10.167.248.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Mon, 7 Sep 2026 07:25:43 +0000 Received: from [127.0.1.1] (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Mon, 7 Sep 2026 02:25:38 -0500 From: Shivank Garg Date: Mon, 7 Sep 2026 07:25:00 +0000 Subject: [PATCH v3 4/4] KVM: selftests: Drop unused sysfs NUMA helpers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260907-gmem-selftests-fix-v3-4-7a4be5c1cc8a@amd.com> References: <20260907-gmem-selftests-fix-v3-0-7a4be5c1cc8a@amd.com> In-Reply-To: <20260907-gmem-selftests-fix-v3-0-7a4be5c1cc8a@amd.com> To: Sean Christopherson , Paolo Bonzini , David Hildenbrand , Shuah Khan , Jim Mattson , Peter Shier , Ricardo Koller , Ackerley Tng CC: , , , Shivank Garg X-Mailer: b4 0.15-dev-47d62 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788765924; l=2084; i=shivankg@amd.com; s=20260518; h=from:subject:message-id; bh=yukzV0l0ZMwqNLaEq60fyFmbcjXdCl8xNnL0q0m7xp4=; b=nk5q12Ni6eisGWNZhKA13XPJiYJXfvvROhNcHXxC9RBPVfNwRMCvGbLJ7w7aup1FwfFiGQeQC 5nWRaF1DMFvDKk4je8wrd3Cc9VC0RhYLBqnkJxf4LJB/9RHtgBKLKcK X-Developer-Key: i=shivankg@amd.com; a=ed25519; pk=2l2QGTeXuGkZTtfmx0nPQU8iFZfjYmX/ymMojitevx4= X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BBC:EE_|DSVPR12MB931903:EE_ X-MS-Office365-Filtering-Correlation-Id: 4b9346fe-a9cd-439f-f0f3-08df0cb13a5b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|23010399003|82310400026|36860700016|11063799006|56012099006|6133799003|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: 2q9gVvxOWXuR6nm903yTH0sCwemWUf+7c6I/s7OKOMS7jHf96G9cd4oJf5UNtl6yxMOzZsiiroOPKE3BthvvbiE3fLYCgw9bwOrQwSNvD9JGUSjYj+KL38q9uv1T3MLSOXuq+dhyCYJHM13BsFyFH+ZazlCfZuaEfTUxLae2bS71WEraIwPONgXrOVL8f0k/3uQBnsmDPS53X1zYpW1nUtfoQzlJ4OG1fL0/tt15IqtQhXbt7LbZPKlUVF9vpG8/J60Rc3GawLMbNWIGuuXnfAVF+y7RJfuyiEjq5CSYNOvbYESYt6MfdNaXDw68P3EbgRH0rnWmjKMBid8Wx0Et4qhaq1/gfq804k0Q0wnUFDxUuRDd8cVN0WLYfXKVgESTSyWh4qX9BKQZ9uRn2bnnxunCteDll6g47fjofd0hhtoZ74QtmYER1bN3ZxZdBmDH/JjWtxoNcR5TEHH4EKZ3s/Cci2QJJwTFv5vq658+WDSEKmiehgMrKNiLN63auQNiqQ5DvvVgjT/EjUCTW/cICVLF4ENOGmeS3D3oy5IXcTNwnxIRh7Wq44GTsC6b8sRIZxdORPNzw04e+AJAb1huS6DIP9Nth/eCpar1I8xIAEQG+5JkoyO2/RhKRqIKOqJ26TlTOR3CyTzsWNJLlMW+Ck9920wv4PrFTtABrxnyX9V2//MAfQEn9z00QlJhsQ9U X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(23010399003)(82310400026)(36860700016)(11063799006)(56012099006)(6133799003)(18002099003)(22082099003)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Rp9K5Gk5WufHxeAmMvrCZcJQUARhSiyYA3maFMNAceH7Fzdpo3IsdP5PusqJQhrbQrvGLKWw+vMVTac+5pzZdY5ri1AzNPvnIjzQzN4eQCItR6MvjfeYQ9QqSpJdMklP5+rQG7ZZV2RcHfGEjiZQdV+JmGhGRY5Y7UuI4JMUaF0PKHJfE1V12uNzAVlpiusAO8/cQBPCNeQKZi6J4cXupcLe/q/KfiKx2pRnJTvGrtsZmgDbfhtYI/mnhwQY0AGhIRbaT7L3V4hXE0KQ0Xp1hqGmh2NhE6SG0Kl2I2SKOMBVRcSWzy2tGUP1L26LODOO+2PhxhDgTY7Urm/aVArMPnvAk9CQ9b/CpZCzaoylUrmjqStP8hI5SQp6KNdFCUy7LBbUWsE6LyyRKKoC6cIskFQuBq0dOH7ECJIOEyjVFLJAkSGj6rfy0dOaVbavoGiw X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2026 07:25:43.7322 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4b9346fe-a9cd-439f-f0f3-08df0cb13a5b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BBC.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSVPR12MB931903 No users of get_max_numa_node(), is_numa_available(), or is_multi_numa_node_system() remain. Remove the helpers and the now unused dirent.h include. Signed-off-by: Shivank Garg --- tools/testing/selftests/kvm/include/numaif.h | 52 ------------------------= ---- 1 file changed, 52 deletions(-) diff --git a/tools/testing/selftests/kvm/include/numaif.h b/tools/testing/s= elftests/kvm/include/numaif.h index 0945500c6322..c3884017ebb8 100644 --- a/tools/testing/selftests/kvm/include/numaif.h +++ b/tools/testing/selftests/kvm/include/numaif.h @@ -4,8 +4,6 @@ #ifndef SELFTEST_KVM_NUMAIF_H #define SELFTEST_KVM_NUMAIF_H =20 -#include - #include #include =20 @@ -73,54 +71,4 @@ static inline int kvm_get_next_numa_node(unsigned long n= odemask, int from) return to; } =20 -static inline int get_max_numa_node(void) -{ - struct dirent *de; - int max_node =3D 0; - DIR *d; - - /* - * Assume there's a single node if the kernel doesn't support NUMA, - * or if no nodes are found. - */ - d =3D opendir("/sys/devices/system/node"); - if (!d) - return 0; - - while ((de =3D readdir(d)) !=3D NULL) { - int node_id; - char *endptr; - - if (strncmp(de->d_name, "node", 4) !=3D 0) - continue; - - node_id =3D strtol(de->d_name + 4, &endptr, 10); - if (*endptr !=3D '\0') - continue; - - if (node_id > max_node) - max_node =3D node_id; - } - closedir(d); - - return max_node; -} - -static bool is_numa_available(void) -{ - /* - * Probe for NUMA by doing a dummy get_mempolicy(). If the syscall - * fails with ENOSYS, then the kernel was built without NUMA support. - * if the syscall fails with EPERM, then the process/user lacks the - * necessary capabilities (CAP_SYS_NICE). - */ - return !get_mempolicy(NULL, NULL, 0, NULL, 0) || - (errno !=3D ENOSYS && errno !=3D EPERM); -} - -static inline bool is_multi_numa_node_system(void) -{ - return is_numa_available() && get_max_numa_node() >=3D 1; -} - #endif /* SELFTEST_KVM_NUMAIF_H */ --=20 2.43.0