From patchwork Tue Mar 11 13:18:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brendan Jackman X-Patchwork-Id: 14011867 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 A2BB6C28B2E for ; Tue, 11 Mar 2025 13:18:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6A3F4280008; Tue, 11 Mar 2025 09:18:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 60A4D280001; Tue, 11 Mar 2025 09:18:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 47FBB280008; Tue, 11 Mar 2025 09:18:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 17D35280001 for ; Tue, 11 Mar 2025 09:18:33 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2982EBA8D4 for ; Tue, 11 Mar 2025 13:18:33 +0000 (UTC) X-FDA: 83209324506.03.89C7D4B Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) by imf09.hostedemail.com (Postfix) with ESMTP id 3D307140008 for ; Tue, 11 Mar 2025 13:18:30 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Td3j6L6Q; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of 3JjjQZwgKCB0C35DF3G49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--jackmanb.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=3JjjQZwgKCB0C35DF3G49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--jackmanb.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741699111; 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=E6JjfJOQBkddVu8mbUCQ3JSQzc9s8ZEC60spagx9Tws=; b=ZdhTowHICcf/irp9Z0I8zCwsLgs8kOk5tg4asKpgM9mHtitdSx9Nbf36AS4vdEV2svzHYO AiAaeJ/DAEg4OgYDtTvgq/AZfe3nF38Icdmdyx8RhdQL0SYlWYp/QxVK+Y1qJ1CUzGrLvY tUx2jAV2LrvRaIOEksA9QhrJGNqZUoQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741699111; a=rsa-sha256; cv=none; b=6qJkTwrzcz9hDRAeY1b/TABQa/dnnhyP1TvHMeD1rJC+YYkx8uSrCM+uvW1/7FsqHv2m8x PXZBe5pul4sq8NEMfmPOYBPtfSWLq9vPzAfC/VglGgjfzBPLyWvCdI6ROEwX7+auCjzUD7 JxXzYrJoCjIPfnYsh9GqLR+qb7RfAec= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Td3j6L6Q; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of 3JjjQZwgKCB0C35DF3G49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--jackmanb.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=3JjjQZwgKCB0C35DF3G49HH9E7.5HFEBGNQ-FFDO35D.HK9@flex--jackmanb.bounces.google.com Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-43bc97e6360so27362415e9.3 for ; Tue, 11 Mar 2025 06:18:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1741699110; x=1742303910; 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=E6JjfJOQBkddVu8mbUCQ3JSQzc9s8ZEC60spagx9Tws=; b=Td3j6L6QXUvymVK3a2yQGAKPEw56xugOwPd2AkoET3biY5SEVn1AMwJJ9qyc1u2NFk igcCdc37B8XuOVlu0NPov3Xobq1nBoqPpc8iFm8HSrc88TZvHUzwYnb5IorgeWoQrMnb zZ/TGTDSQYQGVmomlQ0eLEP6Dcdyq5B0sjCUFg+OBP3EZJ5gwQhznuSh0EliaprMfmOe tL8LSzPoz8tGI4WXSIgqkuG5eSuryId0CrsqA0SZqYuOxNJ7DAJe8gQSUJLzQidxQw1F rkE9dj2huTOQlur5AHZnar925XXq3PJsQcK9H1Av2fWLI6e0TBvuAXa921mA9aAg7RjB goug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741699110; x=1742303910; 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=E6JjfJOQBkddVu8mbUCQ3JSQzc9s8ZEC60spagx9Tws=; b=DEnSdYsU0r/MfFVr/nm8oCBAb0gW4o3XfJPnZLGO1DBLbi472CguviFwe0iEA1H6kR 30kd6MI6X2JFOyLz5dJ5C0ZrE/iWSFq3rBlG9O3vXE/hfris1XNSzxfWN2w/48g1qczU 4oOeHznnrOgFJBNE6YOcqcsiDbeggVNVQDprWwhOs9zxTbLE9pPf1pNElwyPEShWYVhY 6MFlb5q+SrbeN3v1NiS1S54ni7DwQxy8Smh/9bxwgV6ZH4l9zcv35G19uO0ueScRzlhu bjEB7298ZFK77PULiUq6byMJupGC0olPhdv3BjnqpA0zJjQJW3FmEp4RWkOy/AvS0TFH 540Q== X-Forwarded-Encrypted: i=1; AJvYcCV7L0uNdtNpHcOr7vLAnsgcDaSc3QK70NUU9+tnnDXXZkW3qDmA0RKUGsYMvwb5cu9rijt60TdUjg==@kvack.org X-Gm-Message-State: AOJu0YwDfmoZGEiO0owlYkkh/xB452dtynbrjiLOmX2NFTvtxljuNACj 8LlhJ3hsWvSI1GIZPn8PntuCJsZN9w1QX2Zu6b5Uuo1rZ0qwm+3RNmOTK5+MRhn1cGstFmDVifV xYeV2P71b6Q== X-Google-Smtp-Source: AGHT+IEIWvgrPAdW1aYeAn80KnMmveyrFiqXf2KEYlIp8fmgFPw+5h8vHeMIpGYZnJb/sky5I2oxhtfkiMAT0Q== X-Received: from wmbbe8.prod.google.com ([2002:a05:600c:1e88:b0:43c:faa1:bb58]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:4316:b0:43c:e70d:44f9 with SMTP id 5b1f17b1804b1-43ce70d46f4mr104149745e9.18.1741699110016; Tue, 11 Mar 2025 06:18:30 -0700 (PDT) Date: Tue, 11 Mar 2025 13:18:17 +0000 In-Reply-To: <20250311-mm-selftests-v4-0-dec210a658f5@google.com> Mime-Version: 1.0 References: <20250311-mm-selftests-v4-0-dec210a658f5@google.com> X-Mailer: b4 0.14.2 Message-ID: <20250311-mm-selftests-v4-6-dec210a658f5@google.com> Subject: [PATCH v4 06/12] 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-Rspamd-Queue-Id: 3D307140008 X-Rspamd-Server: rspam08 X-Stat-Signature: t7duubg3d9cnsutyhb5hpq9hja3g4yrt X-HE-Tag: 1741699110-350798 X-HE-Meta: U2FsdGVkX182X5wkoZirQaLHmk2vZwUydU+i9IRr2jcKMpmsYfO/tCbKYnl0MkldmhAnvoR9mDB53h8PbKMmTz5PIWFLV9DS5NLr4s009NdX2mBoJKtFUJ4pTgRekqKM2PCwcae8ID6okbzq9HkaVWPT3TyNNXi9MNLx+Cip+KA5uMG3aFiWZX5hT33JLRmq8sDwhdHBssEgbQZJoKjA77JZHMt6vCscTvWI33fgCB0bnKaiIWLE8uuDuEkdsSEURYuvrJujCVYkByh0HLEvAm8R7L+YUQnDSNmx9JfxjbS68hjyn/pNMy3xoEJfPqSvL/mgcYDp+rauyRxLL+nS9xjAd3mMRfhF68aJkwMHIopWxE3d8mZ1LffX1MAsRTvdvcSstbL6NXEzXBiTnBckff63AtdFrXnEuD0S1iZToBZ0CEV9hgKUz0SAv4tZ5P2RI+Ia37WmCDjfd8N4waA9rVxVzSYpEPioamgC5glRxRJSe1NgtIcRdyvMwZKyshLTwv+pC9+t469U4hW2Qq3BkfnnlT/C29jx25XnWbYv03CMJK7Ja4nAoUKey87HZ1DMx7gD/zDJ58qbyV6bBVeI1QTksD4lgDQFSn+QPUGjxLIQTTnDXV/6neAAsMWk51/DkTTci4m9vXtF4gPHC2HmB5Q0M0Hmy5f6uE/XP6suxWivxxbTUYq4Z+/vJhJOyqYClCVRvLTNr8rxdBPna/2ogFxrpwijeoYVe24InuvwYw4XhEUPBXjX3FSO4beT4zrcl5NQxVL6VrJSJHkkq1Q2DSQAEPtf84hVbID5v8mOLkGdjiNry4op6V3s11hNHcMRBtzq7Gc42WI6yLeOcR3WM8ooMgIJUVjmO3llbBqeJ0Y1AJUlU8Mevp+Db8JW9m/yRgyHMR8+jxfOH2fxKTbn/czAmqX41BA9siM1a6NqCM6zOENqSzXgPMLyR4n9jiRUgcj5qxPIx/Y+3rmgUBJ 9ccN+xuK FnJk3fCgJMf7XXV0KEQq+sNgYnNGVnbtxzdNRuUgDXwfppbz/vOfD+MFTiFCbcofmhvkpxYs3oPrWG5r0+9VBkkusgOKRHy0QX+3KbpVqtFNq66zA0EJLgiSWxW8R/wSekFgElVLxa2s1cUuX9LegSrLojQu1bAsXMc7eidv2gOnSfJA0FO36am8J7yKDwAwSeEGP4RGDAEDMbMinxYQiJ1gceOYNQ8TrhW6TBILBqkst3oA8xvlszGzNvenJ24l8YN7zSb6rr1cQDLkUjRZOcfaGdmsz0MJCwLfiyu3Gho/Ti8ebzZpIjLiRxZvxtbzHUjwH4Qeu4knmrTmUFACs5+SZS0wYN34s8GxtZArhETNTRXSYheC/fuCmNJEZPIDfWW9pJg/g5aK10ZMatfNWfkR5JW4E+w3ycOKA/jILgs7zktet5ECAyXFAW07Q3i8GwflczStYNHY9R6hmfFTVmdx2Jq34FHFa+TirZQHK2EVZ/nAxFLRph4yxYVru1SwyrlAbPD68xtAqk42BLoYc44Rk/cGElyl+42J+0y6mqVVqWZWt2+no5NYmKnwkPlfa88OGizIZXikrtM4= X-Bogosity: Ham, tests=bogofilter, spamicity=0.036839, 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 4ba5bf13a0108435ce8b53340b9e17ccd47e859e..40af7f67c4074d901be6608e5d64bd0490026dae 100644 --- a/tools/testing/selftests/mm/uffd-stress.c +++ b/tools/testing/selftests/mm/uffd-stress.c @@ -435,6 +435,7 @@ static void sigalrm(int sig) int main(int argc, char **argv) { + unsigned long nr_cpus; size_t bytes; if (argc < 4) @@ -453,7 +454,15 @@ int main(int argc, char **argv) return KSFT_SKIP; } - nr_parallel = 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_parallel = 32; + } else { + nr_parallel = nr_cpus; + } nr_pages_per_cpu = bytes / page_size / nr_parallel; if (!nr_pages_per_cpu) {