From patchwork Fri Feb 21 18:25:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brendan Jackman X-Patchwork-Id: 13986162 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 75FE6C021B3 for ; Fri, 21 Feb 2025 18:26:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B17028001D; Fri, 21 Feb 2025 13:26:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2EBC328000C; Fri, 21 Feb 2025 13:26:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C8F228001D; Fri, 21 Feb 2025 13:26:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id DA16428000C for ; Fri, 21 Feb 2025 13:26:04 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 99BCCB6FDF for ; Fri, 21 Feb 2025 18:26:04 +0000 (UTC) X-FDA: 83144781048.25.B5112D8 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) by imf03.hostedemail.com (Postfix) with ESMTP id 9014A20006 for ; Fri, 21 Feb 2025 18:26:02 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=LujyliJw; spf=pass (imf03.hostedemail.com: domain of 3OcW4ZwgKCOoVMOWYMZNSaaSXQ.OaYXUZgj-YYWhMOW.adS@flex--jackmanb.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=3OcW4ZwgKCOoVMOWYMZNSaaSXQ.OaYXUZgj-YYWhMOW.adS@flex--jackmanb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740162362; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UUbh6bo0YX556uViMnNFSN2+o8CrzMcR/+eYIWbI+KE=; b=TFaoVqjUOvywfyqp0GMq9+BwX0LRe2QFpb4fgZGpEdNIHvYQWkMUDXT1/dCUH3UWPLsff2 oNNHLyoqt6oO011EGE/6XZtwa29xP5hEfVSw1Rm+UoBkan+BAt7F4LviKZYS2+sNp9KH8I SVLBQ3cgPQf/AtrLcGHG6EhLsbA1F8k= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=LujyliJw; spf=pass (imf03.hostedemail.com: domain of 3OcW4ZwgKCOoVMOWYMZNSaaSXQ.OaYXUZgj-YYWhMOW.adS@flex--jackmanb.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=3OcW4ZwgKCOoVMOWYMZNSaaSXQ.OaYXUZgj-YYWhMOW.adS@flex--jackmanb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740162362; a=rsa-sha256; cv=none; b=qr8U3zGzs2YhReiEIQcRrg9CCtR5sIBT/8mkvHPC8GZcwb3BDMPGMqIeKHi3Eg/B9tRLRo ygT8ahUWpQ10CZ5D6STogurW7mR3C/Q/46K3yd5BqqulaRr7MSTddpoFFHrcRLuWIJstCk 0x5mNIHKrmV3CW1GPfx7f6Ubm0b8lkA= Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-439858c5911so13232285e9.2 for ; Fri, 21 Feb 2025 10:26:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162361; x=1740767161; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=UUbh6bo0YX556uViMnNFSN2+o8CrzMcR/+eYIWbI+KE=; b=LujyliJwYbux31Ui79hhJ+lncYkWoQGbC/jXwkSmgrQumEWp8ip1TOusXTax9cXsnH kDwzVQwddUf0An/ZufbkDnJQwCoLjIfVF8ycr40b50327VP3P1elqC7PgSa+7leqGLpn JxxJEqimncc+MIJEiyK5HMJBG+qJEdpItUFfoeXEe3Z2rD98UWQ95GyLe9rklyz06XGV Tr8lMcmFUM3D61LkWVQRsATqtHo2QJuQTErx/BsMuG1zN+8IqUZRlfUPXzqzuUGxZaaH biDiBSVhthcvfqyr+wDQWZj9aT5/LYg9skd/cUk7HcGfGrCh8M6EMl2aiN6IQ2SAIkly fvug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162361; x=1740767161; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UUbh6bo0YX556uViMnNFSN2+o8CrzMcR/+eYIWbI+KE=; b=ZArR3/KJIGtgS6Q27XF0lL3CXbNg63k91+R1tTmlM/dXONPqw4WHKl7HZ3J/efgPDi JyVy4Z0iv0QbtIZ7kSxniMpdP5D/ceedJ7688fUPlS830RVDtdV7n0mqqfLKfQQCf95j z90G8EVoHuXoZnHgBEU2vIm2wvThdKNg7bGcNjNb7dRt/jl0BAi36x0/I38ZzM3+Oi6T 1foZLMT1GHUs4+c1ugMKeVzIYpGOHFI+K5CyhjQnzO9xNCGQa7pc3ko0OkhQ8SXP6y4n HnOsIUvbP02YlXEiQJYJy3ylHCvCkALR2/8b5DNi6989301Mil5QI9P0F0vtnHsLs6VX i8FQ== X-Forwarded-Encrypted: i=1; AJvYcCWF4cY8qo6LpbMnTquuCMgv7K2ycGcfns9ON4EXdZyxDvjEwViUgfW87lTnQX6qx5QjvlhvQdVy6A==@kvack.org X-Gm-Message-State: AOJu0YwEmorVQZJsr2WWUWf+lOqbg7LJoqaZryiUcIaWhucn89/iynki 2PLi4j/Z7CW5X4Jo9FEBeeya6A+4Lccmh+CxKlsO8xczgKATUx4aLFVqlWTujShthafMsbMc5vZ RZxcMtrdT0Q== X-Google-Smtp-Source: AGHT+IE/bG8bUxR8y1P5xtIPuQD4Hhm3QWPdc3EgR4sjxsIVd86HrK8cKBFQtHlEYVxpNKR3bI3d8S9EnfxaWg== X-Received: from wmgg25.prod.google.com ([2002:a05:600d:19:b0:439:997a:8b94]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a5d:584b:0:b0:38f:3b41:c952 with SMTP id ffacd0b85a97d-38f6e754b82mr3343613f8f.4.1740162361345; Fri, 21 Feb 2025 10:26:01 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:46 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Mime-Version: 1.0 References: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> X-Mailer: b4 0.15-dev Message-ID: <20250221-mm-selftests-v2-7-28c4d66383c5@google.com> Subject: [PATCH v2 7/9] selftests/mm: Don't fail uffd-stress if too many CPUs From: Brendan Jackman To: Lorenzo Stoakes , Andrew Morton , Shuah Khan Cc: Dev Jain , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Brendan Jackman , Mateusz Guzik X-Rspam-User: X-Stat-Signature: jmnw4fojawi9qfwhfre1sroqh9myanht X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 9014A20006 X-HE-Tag: 1740162362-460277 X-HE-Meta: U2FsdGVkX1/J4APnniLTba4LR5Pgrt0DkSxkfAGkmVuTMvomc/sNmnPsWqBYjWk014MUh4/n66BjGMWCKvtf2sikdUC06gNp2ohUr6MgEVOUvYtXG8/gtaCdwLcIj5E7WzRp+iPP34qIHvS+aAmPDkoMBjsaNNv19oYiKOrawsKMWWcwY9tXqCVCEmlg5gfn5jHc21V6idp/Qg7IkescK2h9BrDc+vsMiJB3VQpvbaMd4Yv8sI1E4oyfOTyoFaXbk+uSsPpNLtDxXHbtAXYNVyjB6yttWR568yM3WIISspM+/wqUrI2TThuKItWr8zQfwCW714wB2FpOdZ6zM98tf+0N2Gs0I+oy6qdf7fOlz+0WCkTpG5vGL5nzUM2YCiZOEKNKasxhFDQJ9lRQxzaS9tLBkU6atEfV8qhhrdH7AeJUV/i3G5e3WDdOKWRPy/Sg+P2WIHZ95PZnN6drWOyRH5wzxniJIAgfFAhD8xX9AlFR4FnL9yh7Jh8pseeoYv1542CQato6zzuqN932QTk6pJM+J/6ix3x7H9Qcd887nOLRLjftZJoPt/1/Rl6Koe1UYBP7lRL4HnTejImx4CuPTOdr+cfD0300QXxPLemIvxrcW9pfQulf7mrGDSOBM97/pASZlhz7YW5uwmALBIKPo74t7ZyrLXoQGcIskBf9pJAby1RyeCB8PBBfXdKdt1q+U0Ey7VnW3Pn3xGiGQLTGl/kkdBd/ho2T8l5ACGduQK1/xxOlRrBYB5vuylkEnMCg1f6uIz15vUZBKkJEybUb5ea2OW4fD+UKIp81lcqnLlX+pjfc3C2q+vlDLRrwTW3aGQUoYmRn7uYM6V+XL3gUo+N3eqEUtIr1KiAlzMoBlTW3vDdY2AuspgZV3LS0JyJ362iNJ2kV3VV1IVo0MiLJhNvJrA3eDzHchEIZztF8iRtl8ed9wC1U16mJ2KrynfPjFOHDpJy+Bm0xjmssaCP hJwXItsd niv5QlxLZwzGaIIStbT6bkwTU0E7bVjK3Dc7/ehuLOjRj/tplmPV9w9hStU0PwgSSDiYrkpVffjsMw55BgeySa3eQO/6uxnTXuRRhjdK7CiXnWZD1PBdhxRxHqWjkb6NHJ1guv5ZkLMGprjyDVSis1oQjKSJrxbrFBQnG2L/bmePHZJTAzMAh8cj1JLx24JGO5LD6FkHqppAc9wUDIAxUftSQd/IiClJRq2Ua488rKhmJJB7939b1ke6m82I4GT5VTMkRN/jr0jM3k1EFEZvqfn5KFvSkb3wnWMfAoom534IllNxQl9DFStjsvxGmlTYbPqAcrm/6i3sLJBLI5Woppja6voEXB82hjZ2Us1TfU3ljr97Q1vQ6meJmwnnnqaN+SiTmb9TqELhVXxzNtU6yrd3kELa5B7b6vLt9cOWs9I7AeuTMlcJGu/KxO2NByoszrYZ+Qz0+8pD/YF1qeIeblCA/7bSqJLnJtly/X/j2SSkYG4quDvkhgJPjAv0fa+TMSLtY21qKCw41bbFiM5VTIxAB2c2yWWBJC2JfkT3rk8ub1S2S7c7NgpfrZaxZecgi4ZWlq78vDjgFiuE= X-Bogosity: Ham, tests=bogofilter, spamicity=0.115697, 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 calculation divides a fixed parameter by an environment-dependent parameter i.e. the number of CPUs. The simple way to avoid machine-specific failures here is to just put a cap on the max value of the latter. Suggested-by: Mateusz Guzik Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/uffd-stress.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/mm/uffd-stress.c b/tools/testing/selftests/mm/uffd-stress.c index be0c93f24fccd618f52d54ff36d9a5540f420e46..cfadac801ed43e8b6dc331b343b6dc4030048f9b 100644 --- a/tools/testing/selftests/mm/uffd-stress.c +++ b/tools/testing/selftests/mm/uffd-stress.c @@ -434,6 +434,7 @@ static void sigalrm(int sig) int main(int argc, char **argv) { + unsigned long nr_cpus; size_t bytes; if (argc < 4) @@ -452,7 +453,15 @@ int main(int argc, char **argv) return KSFT_SKIP; } - nr_threads = sysconf(_SC_NPROCESSORS_ONLN); + nr_cpus = sysconf(_SC_NPROCESSORS_ONLN); + if (nr_cpus > 32) { + /* Don't let calculation below go to zero. */ + ksft_print_msg("_SC_NPROCESSORS_ONLN (%lu) too large, capping nr_threads to 32\n", + nr_cpus); + nr_threads = 32; + } else { + nr_cpus = nr_threads; + } nr_pages_per_cpu = bytes / page_size / nr_threads; if (!nr_pages_per_cpu) {