From nobody Tue Dec 16 19:24:33 2025 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 083242512D9 for ; Fri, 21 Feb 2025 18:25:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162352; cv=none; b=Igho4nykPKa9tP15NZezbPmF0MLgYisYRZ1p83F2s/eu6TveZcL2pAn1+tnhbXMmv7563ZXm5mZDAD72Ew4KZMZZY5wodJA/jQUV8jYPETZVZSK9gP7PJ9lgJl5NqBJLc2LaQqwDZWxUJ7dXZ0YHgJ46t6/hTK2oYevgQebvuxo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162352; c=relaxed/simple; bh=LdWgN7oTOnT2kR0V/qGOZgaNhPW+WowUTBFN2liAgPQ=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=KyBc/IUQB+q3o7HTKR2j/lRo8v/qmjv+jQpkdEu2fdrpLNyHFDFJaFhDSogDwdKtZO6TVu5vNpkUYEobvLSYgILNfvz4IJ35VlcwBMmGJNFMotdG/jP35d1hvrWGkW96LPWvgEYuSt1Dt8xaYVUlQVKiNWzR4dWHnJ/8dxcMf/Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=GYqmcKdt; arc=none smtp.client-ip=209.85.128.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="GYqmcKdt" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-4394c0a58e7so24895865e9.0 for ; Fri, 21 Feb 2025 10:25:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162349; x=1740767149; darn=vger.kernel.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=hk2q4ahcZVTOKS3B3OzgKX2VwvrQ5wObjbXK4TuFM6g=; b=GYqmcKdtAY+4g4KLednJRXqlzcApOgcJ/kPYxPZ0p3QudNDoGD1hFq1hn42LAqRpbo cGo2nXQcjgYtQCrx+C3cL98SzDCU19ZABmyUJ0+vzOpWNzd1XXEGkd3lCOnbp3jLs3pd jGXHXdX7zjDHy2esnNiS2LykHWyxz7uGx3GyU5qiTNndGo0TTaPnJyouzY/5FVMbsMYT YX7Gew71Lq60TPxuJeWV6sCOjOTqScCahMqMcnVx/M6yE8x+DGaq2aAJN1vOB0AKbDwH 5zmx2lS1KrgxW3ViAPkTAQ4WYmJiwL5AifMzBvbFAT5f9z6EQRbNY7/VeBr9CML2QA63 RFHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162349; x=1740767149; 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=hk2q4ahcZVTOKS3B3OzgKX2VwvrQ5wObjbXK4TuFM6g=; b=NeG32iJNXnmdMnaiLOWWmrJmDDa3P5yfmU2t8iBHxxwfENS3yopsF3Di//a903TSiJ 39XXWPe1hJwAXNWuejs+NSd0vrC3ShYnucw1qbmcaXj4ZAMlDP1io9YAeavxfHvPkX7t FbE+5Dq+jU5pdec6gglzGUN4Ye12RERNiTZsD0aKF2ju2QnyGxIHxH9aJz/NcnGNJCXW aKYGG+DQXQwJP3TCCM/qoCimgvVC3CaIeF/k7pAfqIYln1cfZ3vmZcsRiT/Xpgmn72pG 2hZNNN+vlZA7JZOHJIPByzTb9QNjmjk8iZjlVqKMoZJ8GC93vfx5BuDXu6wpb25UGIoe SKsw== X-Forwarded-Encrypted: i=1; AJvYcCUptPXQ0Exp3gB/OmtycV9pCpSrZL0QnEkxGTs0T7Sn0lwMEsgqCTaXLvj6ncxsHLiDy3RSJRHxaJSoi4s=@vger.kernel.org X-Gm-Message-State: AOJu0Ywe6nTEJLxsKSxuM07YFuwcqYP7xRndu7MqQKI9+s378JfBn4ya 7A25G8331l2/Eh05e8hAaCKDwbeCRUVS7sxKNH0dmfz9EF3JdTNT9c9n0O12iLlbbK/RtNveJHr R9O6f9+OLWA== X-Google-Smtp-Source: AGHT+IEEX+9NDAYtaEsuvzkkpt2t6wfcS1DgyAfislLJA+1+8RZByMs7UTp84Gy/Woac1f/+GF5PHTZ0HNJ1aQ== X-Received: from wmsp4.prod.google.com ([2002:a05:600c:1d84:b0:439:942c:b180]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:3b09:b0:439:9e13:2dd7 with SMTP id 5b1f17b1804b1-439aeae1c7emr34111985e9.2.1740162349573; Fri, 21 Feb 2025 10:25:49 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:40 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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-1-28c4d66383c5@google.com> Subject: [PATCH v2 1/9] selftests/mm: Report errno when things fail in gup_longterm 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Just reporting failure doesn't tell you what went wrong. This can fail in different ways so report errno to help the reader get started debugging. Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/gup_longterm.c | 37 ++++++++++++++++++---------= ---- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/tools/testing/selftests/mm/gup_longterm.c b/tools/testing/self= tests/mm/gup_longterm.c index 9423ad439a6140163bdef2974615bb86406a8c14..879e9e4e8cce8127656fabe098a= bf7db5f6c5e23 100644 --- a/tools/testing/selftests/mm/gup_longterm.c +++ b/tools/testing/selftests/mm/gup_longterm.c @@ -96,13 +96,13 @@ static void do_test(int fd, size_t size, enum test_type= type, bool shared) int ret; =20 if (ftruncate(fd, size)) { - ksft_test_result_fail("ftruncate() failed\n"); + ksft_test_result_fail("ftruncate() failed (%s)\n", strerror(errno)); return; } =20 if (fallocate(fd, 0, 0, size)) { if (size =3D=3D pagesize) - ksft_test_result_fail("fallocate() failed\n"); + ksft_test_result_fail("fallocate() failed (%s)\n", strerror(errno)); else ksft_test_result_skip("need more free huge pages\n"); return; @@ -112,7 +112,7 @@ static void do_test(int fd, size_t size, enum test_type= type, bool shared) shared ? MAP_SHARED : MAP_PRIVATE, fd, 0); if (mem =3D=3D MAP_FAILED) { if (size =3D=3D pagesize || shared) - ksft_test_result_fail("mmap() failed\n"); + ksft_test_result_fail("mmap() failed (%s)\n", strerror(errno)); else ksft_test_result_skip("need more free huge pages\n"); return; @@ -130,7 +130,7 @@ static void do_test(int fd, size_t size, enum test_type= type, bool shared) */ ret =3D mprotect(mem, size, PROT_READ); if (ret) { - ksft_test_result_fail("mprotect() failed\n"); + ksft_test_result_fail("mprotect() failed (%s)\n", strerror(errno)); goto munmap; } /* FALLTHROUGH */ @@ -165,18 +165,20 @@ static void do_test(int fd, size_t size, enum test_ty= pe type, bool shared) args.flags |=3D rw ? PIN_LONGTERM_TEST_FLAG_USE_WRITE : 0; ret =3D ioctl(gup_fd, PIN_LONGTERM_TEST_START, &args); if (ret && errno =3D=3D EINVAL) { - ksft_test_result_skip("PIN_LONGTERM_TEST_START failed\n"); + ksft_test_result_skip("PIN_LONGTERM_TEST_START failed (EINVAL)n"); break; } else if (ret && errno =3D=3D EFAULT) { ksft_test_result(!should_work, "Should have failed\n"); break; } else if (ret) { - ksft_test_result_fail("PIN_LONGTERM_TEST_START failed\n"); + ksft_test_result_fail("PIN_LONGTERM_TEST_START failed (%s)\n", + strerror(errno)); break; } =20 if (ioctl(gup_fd, PIN_LONGTERM_TEST_STOP)) - ksft_print_msg("[INFO] PIN_LONGTERM_TEST_STOP failed\n"); + ksft_print_msg("[INFO] PIN_LONGTERM_TEST_STOP failed (%s)\n", + strerror(errno)); =20 /* * TODO: if the kernel ever supports long-term R/W pinning on @@ -202,7 +204,8 @@ static void do_test(int fd, size_t size, enum test_type= type, bool shared) /* Skip on errors, as we might just lack kernel support. */ ret =3D io_uring_queue_init(1, &ring, 0); if (ret < 0) { - ksft_test_result_skip("io_uring_queue_init() failed\n"); + ksft_test_result_skip("io_uring_queue_init() failed (%s)\n", + strerror(errno)); break; } /* @@ -215,13 +218,15 @@ static void do_test(int fd, size_t size, enum test_ty= pe type, bool shared) /* Only new kernels return EFAULT. */ if (ret && (errno =3D=3D ENOSPC || errno =3D=3D EOPNOTSUPP || errno =3D=3D EFAULT)) { - ksft_test_result(!should_work, "Should have failed\n"); + ksft_test_result(!should_work, "Should have failed (%s)\n", + strerror(errno)); } else if (ret) { /* * We might just lack support or have insufficient * MEMLOCK limits. */ - ksft_test_result_skip("io_uring_register_buffers() failed\n"); + ksft_test_result_skip("io_uring_register_buffers() failed (%s)\n", + strerror(errno)); } else { ksft_test_result(should_work, "Should have worked\n"); io_uring_unregister_buffers(&ring); @@ -249,7 +254,7 @@ static void run_with_memfd(test_fn fn, const char *desc) =20 fd =3D memfd_create("test", 0); if (fd < 0) { - ksft_test_result_fail("memfd_create() failed\n"); + ksft_test_result_fail("memfd_create() failed (%s)\n", strerror(errno)); return; } =20 @@ -266,13 +271,13 @@ static void run_with_tmpfile(test_fn fn, const char *= desc) =20 file =3D tmpfile(); if (!file) { - ksft_test_result_fail("tmpfile() failed\n"); + ksft_test_result_fail("tmpfile() failed (%s)\n", strerror(errno)); return; } =20 fd =3D fileno(file); if (fd < 0) { - ksft_test_result_fail("fileno() failed\n"); + ksft_test_result_fail("fileno() failed (%s)\n", strerror(errno)); goto close; } =20 @@ -290,12 +295,12 @@ static void run_with_local_tmpfile(test_fn fn, const = char *desc) =20 fd =3D mkstemp(filename); if (fd < 0) { - ksft_test_result_fail("mkstemp() failed\n"); + ksft_test_result_fail("mkstemp() failed (%s)\n", strerror(errno)); return; } =20 if (unlink(filename)) { - ksft_test_result_fail("unlink() failed\n"); + ksft_test_result_fail("unlink() failed (%s)\n", strerror(errno)); goto close; } =20 @@ -317,7 +322,7 @@ static void run_with_memfd_hugetlb(test_fn fn, const ch= ar *desc, =20 fd =3D memfd_create("test", flags); if (fd < 0) { - ksft_test_result_skip("memfd_create() failed\n"); + ksft_test_result_skip("memfd_create() failed (%s)\n", strerror(errno)); return; } =20 --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Dec 16 19:24:33 2025 Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F15A22528EB for ; Fri, 21 Feb 2025 18:25:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162354; cv=none; b=U/Bs/EcF/lbt4Dt6M2PXt8oVLTEjKLdBgO5RAlDrUaOcUrDvKAs/YgkAOBegA1ih9rAUXmyC301J8VshtKEEZrNmOtOjJdJbtgMCGCVKICw21Fy/zE1wmqSwyYi5kVvezKSzKV6RX+mli1A2n5B3vNqGQ4qtCqWttaaYLYFPEmU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162354; c=relaxed/simple; bh=Ilk6+5tZclI1F7dj4D5Y8eYPtM9YM7Dc/fjaV8j1+O8=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=J7ZmkHGKiF9UnF4LDrc1SIw4MaVMQqg2ri42Df2YOYe3QkAdCy5nrWg6K9Lc/x07KqVtUuShss7NzhSYhdmO6JsWZI7oU3aXyD/vXubEv1vjn/FEWaRMG14C5rHllmK2xVSZWkmW58huHZLf34ayseVybKCth4pdZe5tEDZ8Q2o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=yyYUTpKs; arc=none smtp.client-ip=209.85.128.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="yyYUTpKs" Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-438e4e9a53fso24831735e9.1 for ; Fri, 21 Feb 2025 10:25:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162351; x=1740767151; darn=vger.kernel.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=wiDbMltjmyaz+TufXV5xdn+s6ZmLgnlpLnjEPTqGgXg=; b=yyYUTpKsjxOY+MVJ8O3WFXSlDtTPveuHDryCmeATQPIoCGBR/HN/9V44eyHwpaefAF nWkZepywzRYVnJIt1QsE641HtREin+poBtewlOG09c4CwVSUEoxJHD2o8TfYQ7PJOmiH alKAuIa1ufKFIAJnsxCQAWErqbnCkY0mHlxdrXLwHV58NfNOTpF4AZPz++yErDjXSde2 SDA0Achw/k7PNGqVeDHbtPoyAgzvDA4dOnliFxohd336D5ZkBy4ibwbvR4rkv3ZfEpnu kw8uDLQLTfA1SJHtCfbfkLINV3WTUUfZMz0MnA2OKJTJi87u4dXRS6Bs8gVPd3RTVs1B yfjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162351; x=1740767151; 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=wiDbMltjmyaz+TufXV5xdn+s6ZmLgnlpLnjEPTqGgXg=; b=w8HKiIX1Ni6nV/OKvDWsBVxtwZCc4A1JgxuUqqrSivwN926f6CsI1MuAnrgGRxtMxt Pei4dRawpgO+9Yjx5HeC9Kg4USBLb2Zcc1GGaKZBynhoV1xbOCnaPS1ZzQpp9BJU6Szq wQ2gliJ8UaHj6YbVeTSDjYPmR3RuiBYvIHCihSMFL3VlhraWFj1GKPCyE24FoY36O09z mfMzzdEnKXfLwjfvnIG4e15Z1v5VNU8FwwNBzSaC+vlvPFqMRsE4gUlJ7xrP8YlLcNE6 sVCHtOXhPs1+01FihB5vE/HkoqQvvUAD4HkkonczCRJcx4Z9QcJBEB1eSGBoYG4OkP4v vbdQ== X-Forwarded-Encrypted: i=1; AJvYcCUA5nzSQaX69ld8r7fla9aScp6GOtiCdXiZmBHSWJCiThcCr3iDfL45VSEqzaOHZJKerOnP9Z9NNiKPeRk=@vger.kernel.org X-Gm-Message-State: AOJu0YwivTehQ7CoUvZvWSpOUqQIeSlYwRpSFVqsa7YPjhQ4jXqi3rK+ 3lUA3OK6tt9tkbonmbH+xRcvPAQt+ikthrnzH5AVpyCgydlIYK2iPaIF27QbRNDckjKtzuh7QYa oiqzLJ0QFPQ== X-Google-Smtp-Source: AGHT+IHvtIB+srUjpk6uvB7EZGmO0/DSJFR+7wDmYyQaFCKzvAqVW3z1wzUI9oGP+GeG2cFpYZzpIvgbccRs1A== X-Received: from wrbcc7.prod.google.com ([2002:a5d:5c07:0:b0:38f:476c:40ec]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a5d:5985:0:b0:38d:d3e2:db32 with SMTP id ffacd0b85a97d-38f70783f03mr2572158f8f.7.1740162351365; Fri, 21 Feb 2025 10:25:51 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:41 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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-2-28c4d66383c5@google.com> Subject: [PATCH v2 2/9] selftests/mm: Fix assumption that sudo is present 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable If we are root, sudo isn't needed. If we are not root, we need sudo, so skip the test if it isn't present. We already do this for on-fault-limit, but this uses separate infrastructure since that is specifically for sudo-ing to the nobody user. Note this ptrace_skip configuration still fails if that file doesn't exist, but in that case the test is still fine, so this just prints an error but doesn't break anything. I suspect that's probably deliberate. Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/run_vmtests.sh | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/self= tests/mm/run_vmtests.sh index da7e266681031d2772fb0c4139648904a18e0bf9..9c963f50927ab2b10c3f942cedd= 087087d4d0def 100755 --- a/tools/testing/selftests/mm/run_vmtests.sh +++ b/tools/testing/selftests/mm/run_vmtests.sh @@ -89,6 +89,17 @@ RUN_ALL=3Dfalse RUN_DESTRUCTIVE=3Dfalse TAP_PREFIX=3D"# " =20 +# We can do stuff as root either if we are already root, or if sudo exists. +if [ "$(id -u)" =3D=3D 0 ]; then + HAVE_SUDO_ROOT=3Dtrue + SUDO_ROOT=3D +elif command -v sudo >/dev/null 2>&1; then + HAVE_SUDO_ROOT=3Dtrue + SUDO_ROOT=3Dsudo +else + HAVE_SUDO_ROOT=3Dfalse +fi + while getopts "aht:n" OPT; do case ${OPT} in "a") RUN_ALL=3Dtrue ;; @@ -384,10 +395,13 @@ CATEGORY=3D"madv_guard" run_test ./guard-pages # MADV_POPULATE_READ and MADV_POPULATE_WRITE tests CATEGORY=3D"madv_populate" run_test ./madv_populate =20 -if [ -x ./memfd_secret ] -then -(echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope 2>&1) | tap_prefix -CATEGORY=3D"memfd_secret" run_test ./memfd_secret +if [ -x ./memfd_secret ]; then + if $HAVE_SUDO_ROOT; then + (echo 0 | $SUDO_ROOT tee /proc/sys/kernel/yama/ptrace_scope 2>&1) | tap_= prefix + CATEGORY=3D"memfd_secret" run_test ./memfd_secret + else + echo "# SKIP ./memfd_secret" + fi fi =20 # KSM KSM_MERGE_TIME_HUGE_PAGES test with size of 100 --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Dec 16 19:24:33 2025 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C271125291B for ; Fri, 21 Feb 2025 18:25:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162356; cv=none; b=R4D7A6B86dn012oc246XpcYtrtxsAkRovhf2lsma2+s48TURY2zxW1TQlnflfoxBtnQIGWcOm5B41L/iZUg/89ZC7WYqcKri2mMRKUBV3SjZxg2tg50Q28r44S8fCoccQNLLh91JszEKzQsB2EkGpnxvv6tTcM3P8mFq3eXnKQY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162356; c=relaxed/simple; bh=gzIPq+/dDC83E2soNu2dyqFClQrNfRPSDvJ+vZsSemM=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=rMWGrXZWONmCUqYLEcXIoy9eb14HyPN19vDYFr8ZssgrCjCACqefP8eZPx0jHCoiNeA1bV8IEKnv3wLl7b00sTMy/GyfR46xpG5c5FYLfUv7r0OsEM3nGijs5S2MeLnp9aBZJiRl0+oOffRVmQVNw4w4VPlt/Xd5XiBERlN3ATw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=WxQrTb4R; arc=none smtp.client-ip=209.85.128.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="WxQrTb4R" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-439385b08d1so16439535e9.1 for ; Fri, 21 Feb 2025 10:25:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162353; x=1740767153; darn=vger.kernel.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=cTcycxfD9DCcL+mqAzEBCNl+Z24hIPU7/F5XNHmMRAA=; b=WxQrTb4Rz9T/gcqB0bW3KVIm2SqqFN6mSdSu1fG6RCTCuSz9WiKEk4acJ3tmnw3A0t D5w2gZP902aakVxYEaV+XmMiJw+pBH/OouiX0n6Rs3c6MV8nvvrjrFko0rqdYlGx/mzI RhLATzRbEUkTzCB5r+XyDZg0AfxmU3EbqsWFtZcUQtrW3Ft/vzLCcSkfp+wEzgYe3zh4 2KkbLbwEU2KZhCnAxwquYY+XmrI6FAIMOf9JZhmMHAgNn+FGrwUSftUdoo+FfF46e0U9 //9oyHiZS26YKhrGuOLRcMdeprMxkRvFePatELVOgfkrW3JDSoGTR6uZT0gMeuHE5Cca GtjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162353; x=1740767153; 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=cTcycxfD9DCcL+mqAzEBCNl+Z24hIPU7/F5XNHmMRAA=; b=Dvfg90jLUXHyAWZvt1AjsCaoMB0BrQg/qt7/dztdqFzAqcnyTaazBmXLjHjJEOHPhm qt6c+LPEf9PXT+lY9HGOpRDi9ya61nNR9cjhilWm5IDDJTgMNq+PIecfQgdFLIDdMOJ5 U7UAyLy/19ub2QMRvwrFjpZLaqKhG8ZSa6lkrow9NSJKtljxyTOfhogrwpSU+VguPc66 DEMBJ/W+MWdrzY4ZxrRUWf2lZUv2VDnmqe9obewYfc88u3VHzWd4oCLk/qXoa+muZplo F7zAiargWE05j7bZ59+Dbyp0J+Nk2TSeQBXPdn+Oo0wGOVRCHVpwfe9Y5gpOcD7E6dwo SueA== X-Forwarded-Encrypted: i=1; AJvYcCUpWC0J0NCDbNZg0FShCCcsI7GkZl0v7OeDyxFIfXmZlbtQ8f0L9tSEiRRLEsIBGJlFzUzIOlYIH4WqMPg=@vger.kernel.org X-Gm-Message-State: AOJu0Ywasz/0K8fOMKGjrVn33A0tD4C2i+oWzLVGnxjEtwBRp9JGlzAs j3GiE1QXiQyJa1fF8Y08JXXbVHypVZVki7txuH3FHi6BgE1fkg2WuatuKTyXzTg2jHmf3qslJTn C4t8qeWcwPA== X-Google-Smtp-Source: AGHT+IEszNIJhkJzwGv9AsQzVYAac3pftoItIw5cS1KOScI8cPLKnS0ZHcBEzvcUimaonjHx8RHsIBeFDU35jw== X-Received: from wmsp4.prod.google.com ([2002:a05:600c:1d84:b0:439:942c:b180]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:4f86:b0:439:59cf:8e16 with SMTP id 5b1f17b1804b1-439ae21644cmr37029575e9.23.1740162353265; Fri, 21 Feb 2025 10:25:53 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:42 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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-3-28c4d66383c5@google.com> Subject: [PATCH v2 3/9] selftests/mm: Skip uffd-stress if userfaultfd not available 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable It's pretty obvious that the test wouldn't work if you don't have the feature enabled. But, it's still useful to SKIP instead of failing so the reader can immediately tell that this is the reason why. Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/uffd-stress.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/mm/uffd-stress.c b/tools/testing/selft= ests/mm/uffd-stress.c index a4b83280998ab7ce8d31e91d8f9fbb47ef11d742..ed68436fac62c76e2ca7060c661= 487f2f8a6ab45 100644 --- a/tools/testing/selftests/mm/uffd-stress.c +++ b/tools/testing/selftests/mm/uffd-stress.c @@ -411,8 +411,8 @@ static void parse_test_type_arg(const char *raw_type) * feature. */ =20 - if (uffd_get_features(&features)) - err("failed to get available features"); + if (uffd_get_features(&features) && errno =3D=3D ENOENT) + ksft_exit_skip("failed to get available features (%d)\n", errno); =20 test_uffdio_wp =3D test_uffdio_wp && (features & UFFD_FEATURE_PAGEFAULT_FLAG_WP); --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Dec 16 19:24:33 2025 Received: from mail-wr1-f74.google.com (mail-wr1-f74.google.com [209.85.221.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B3CF62512F2 for ; Fri, 21 Feb 2025 18:25:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162358; cv=none; b=ZF04hzehwTLNX2VihCIUf5WFbKxUfoFy81rRCBQONR638QK+3ZZ9+8KXFVqmbLENRgS5YHAuNyL4opgc8BV5HDcxQXih3qoVsI8abEjW/qeN/ELY+ZcuVyIcu33y0AflrENlcMfr0xzqBv4BXqBy76gCAwSSgsGLM9J3au12/hE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162358; c=relaxed/simple; bh=Se/GydgHH9nLLIGfdGGZR9s2IiE5I/RUbIaLvfmjrag=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=ouB7KuQFkNCrJdmQ6TYVRyKIKEk5Cczt6fKTpL1U3MQIJHA80JrfEVxK14Y1NNxuyWPDw5XfMwMn471jJeuULzm8XWC0qnAY50NRIEbsQs2CQ738L1fzR6W2CZD5Njd58S/wgu8l4kCZQXcTbpOojLHhzuXfkCoZ5zcRkpGWthI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=PwNDunNQ; arc=none smtp.client-ip=209.85.221.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="PwNDunNQ" Received: by mail-wr1-f74.google.com with SMTP id ffacd0b85a97d-38f34b3f9f1so1690025f8f.0 for ; Fri, 21 Feb 2025 10:25:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162355; x=1740767155; darn=vger.kernel.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=y0OlocBh0Rs8sEPgodfZSsh3pCn2jLgGhmAgomJhmE4=; b=PwNDunNQ4iQ8OFox8WyAWJA0BgqS5SAg/Gur1Pza4LUhj0KA0T85vTztm06k2i34p9 ElDy+IEDkIitPiF2VT9AqPbXsvEmSBTPAbo8KLK+afhEsJIgP2rm8Q4iLkIhrIK2E3DF X5mimesiIzbnbBaiNwGTx1Z5O57lvWio3EyD9qnDKEdz3IwzcUQ0yblR7xFHLr/ZskMS hkCy0YNNYGo2wmzpZtFo+IaDNKLq2Hmi/F/lCEN9YZMDSTGP1AxnkSryzYKMcGzkYMpr RgR+CMqGfX7wx+d+SN8OUJRgyXjF9SNSLyd+/5KqQXr/Ufk4LCaAWtFuDzFbOhF+SRq8 jHoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162355; x=1740767155; 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=y0OlocBh0Rs8sEPgodfZSsh3pCn2jLgGhmAgomJhmE4=; b=gKlbkJzvtxPUy6NkG3lrhG8mU35fl3HEkwERfcEd1Ze5mC+OpHhAAE6pilxbmEbvbw K2Amlus7zVtLm04W8JBc4AetrYwzP9cwEmo0AVfs2wJlCnIWx9jEDMe1FEVEvwQSM1Ic vkPkBXZ91Dzabqf6coBE1xnX2qbR2KSHcy1ctD1Z9gRU+Bes2B3My91/Ys3QBAv9g7KI GQegVhzLTy6y62WlcAk7u6qCGPEGkP7+Q+yB6YFcB/Jwj/YCl4hjH+v4EMKbGf8fRorq Vr1nP37qOyRb1XJNf2rl8f3CRGOLeAHQkagr3BcJw2eYtYlCjie07m7t6DAqJxv+qaJO /E7Q== X-Forwarded-Encrypted: i=1; AJvYcCVwgOu6FrFUlkQydxFuD3eTWPyP0cALx0Z+sJqJHQLoNsH9etex+QQQF98aVVAwmTRudBgXELkf1O1o6HU=@vger.kernel.org X-Gm-Message-State: AOJu0Yx16XFmgip7wNf8X2r9DBmKvszhtGBF0TGAALsPrWDgv+xm6+jX A6BSCWd1HfC+8XzXDPleXmjWVAnr4K5vufj9D4DX4lfWUV4KheJH9B2O9UyBvUfiHFu8nFgSUUZ HAyNfCntsJg== X-Google-Smtp-Source: AGHT+IHF00NYCWo/+nsUyTvFt7hFdbCjIyIp1GC7s9p832mqevEFRq+xbxahQieU1de9AeZKv94BIe2ilx4pmg== X-Received: from wrbed10.prod.google.com ([2002:a05:6000:20ca:b0:38f:59c8:7f1d]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6000:2c6:b0:38f:23ed:2c7 with SMTP id ffacd0b85a97d-38f6e95af22mr4581182f8f.14.1740162355261; Fri, 21 Feb 2025 10:25:55 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:43 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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-4-28c4d66383c5@google.com> Subject: [PATCH v2 4/9] selftests/mm: Skip uffd-wp-mremap if userfaultfd not available 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable It's obvious that this should fail in that case, but still, save the reader the effort of figuring out that they've run into this by just SKIPping Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/uffd-wp-mremap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/mm/uffd-wp-mremap.c b/tools/testing/se= lftests/mm/uffd-wp-mremap.c index 2c4f984bd73caa17e12b9f4a5bb71e7fdf5d8554..c2ba7d46c7b4581a3c32a6b6acd= 148e3e89c2172 100644 --- a/tools/testing/selftests/mm/uffd-wp-mremap.c +++ b/tools/testing/selftests/mm/uffd-wp-mremap.c @@ -182,7 +182,10 @@ static void test_one_folio(size_t size, bool private, = bool swapout, bool hugetlb =20 /* Register range for uffd-wp. */ if (userfaultfd_open(&features)) { - ksft_test_result_fail("userfaultfd_open() failed\n"); + if (errno =3D=3D ENOENT) + ksft_test_result_skip("userfaultfd not available\n"); + else + ksft_test_result_fail("userfaultfd_open() failed\n"); goto out; } if (uffd_register(uffd, mem, size, false, true, false)) { --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Dec 16 19:24:33 2025 Received: from mail-wr1-f73.google.com (mail-wr1-f73.google.com [209.85.221.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BD584253B56 for ; Fri, 21 Feb 2025 18:25:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162360; cv=none; b=ob5lKfZxQM10AHMCWA5HVeZ7cNjgz8Pu+8OsEIWkGwVJ73k6JFU3GHG8tIPRLRhmnIFjfaWwgpcTmNv2RDIshK+21Y7012d0iKNzDrkzmr1UEi0vE75qKi4vUsSsqHgTX4yTzXf9Y2tKf3ErnEmEpPERKo7JPUfytmq1EKvP5V0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162360; c=relaxed/simple; bh=4ssZwG4qJ8pHk2UbwsWVXtiSTcecQacYeJEf+tBVsaU=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=AvKGooKlkwEgxqEWTt63a2THd85oiPWxWFuxvcpih30mB5msJQDXRYornzBGBoogkueEFt7gq1KL2bahm7N/0EvSEXv/R53jH+PKB/4HBTXsVbl91SL4xTVBDCAT1zdBNF/halaT54VJ4xXtJRQRw3BSqVnvPhpCsHVOTd1Ce4s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=q/9THbcj; arc=none smtp.client-ip=209.85.221.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="q/9THbcj" Received: by mail-wr1-f73.google.com with SMTP id ffacd0b85a97d-38f2ef5f0dbso1006594f8f.2 for ; Fri, 21 Feb 2025 10:25:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162357; x=1740767157; darn=vger.kernel.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=OAoxH1QQtcmtrqfrqrquGCaxLx3Ng1Kyj4nYfPKggLc=; b=q/9THbcjOsm/MU3YFLs1duJH799EYxCty5c3+2zn5XKiZM01q9sQbaUZzhA/zojHB1 bC8iMGs9SgndQo3000FtNGz/UxUh8L3pT7XYnxwlE2shEFQdwb4DQz33Mc8Ajl/XKuQK pvtS2B35bgn+0CvZrVoDF+gH0VfrEgPPNVlq1pMLNRfHEnOkwLxFKkwsni1SU9XRxoK5 q1qO+Mepp7zzxlqzIxspgE7/dH2eS6S5peklZLVuzWKPdYngAZtzy8lY2BO9EErZeW/X 5hnkmUR3b6wCX6ZFiDnnl7RiCnKVIaAcslAn1EEdEqhvULphC0eERARHTcNTngSNeIpG 0IdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162357; x=1740767157; 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=OAoxH1QQtcmtrqfrqrquGCaxLx3Ng1Kyj4nYfPKggLc=; b=QBRXIBZKNQX5jFc3D98x3VqpJxZ0qwHQiHC3/VodIiB1z0gU0cR5Df23LT66yPP6dg uWR6W+T0tH/ORKpukDcHNPjQAFbS2aRMXv/uVqSdVgdi3+DzJc5GpA4Q3HRoeW8pur46 wCyHuYatpFpY3KirYU4VN5TYn+EFrO0UO/uzAlQ6EBYs2shDZS0w05nW3ztaSu+VLKqt 35rxBBw769/k5exTtoJVsUQVjQ0fWfIvMyj7ENOE3OFesLbHVwA/CB3ytXae5ErWflYv PTXmpsHZIkNG5JyN+KnuTxD/D9YWALN6Rr59pauOMNy1peNBIBiU+dV4Nymi3YYsW2pC O9CQ== X-Forwarded-Encrypted: i=1; AJvYcCUEfoMz7gOENdbMRzesu7IIzUeuGY12bnBvP+blSF8G4HWQ06dZZw9EBcdJ7lLm4UtkhzHzDSIkDZ3kSQc=@vger.kernel.org X-Gm-Message-State: AOJu0Yyy1HPPd4OwSpd/hUoyt7z5cerjsaxBjMRBCmk+vIQ0mZsMCH4U ubP0mYDJ816q0341zL7FpE6n7yiz/efzvQ4lephYsmhL9UxQ7ag6ZNC2wsMRsnoBhNaowU7BWyd AI2gSKLGrHA== X-Google-Smtp-Source: AGHT+IHHIQYpEKNyaX/t5tMIplaMMGcwEJk4a4wqfwMyLM1OocqQC+kF8/Z1ZzyO2qvH8d+pb7JjF85UNU1YYA== X-Received: from wmbbh16.prod.google.com ([2002:a05:600c:3d10:b0:439:80fc:8bce]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a5d:6d04:0:b0:38f:4b2c:2475 with SMTP id ffacd0b85a97d-38f6e95c496mr3867149f8f.20.1740162357219; Fri, 21 Feb 2025 10:25:57 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:44 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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-5-28c4d66383c5@google.com> Subject: [PATCH v2 5/9] selftests/mm/uffd: Rename nr_cpus -> nr_threads 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable A later commit will bound this variable so it no longer necessarily matches the number of CPUs. Rename it appropriately. Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/uffd-common.c | 8 ++++---- tools/testing/selftests/mm/uffd-common.h | 2 +- tools/testing/selftests/mm/uffd-stress.c | 28 ++++++++++++++----------= ---- tools/testing/selftests/mm/uffd-unit-tests.c | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/tools/testing/selftests/mm/uffd-common.c b/tools/testing/selft= ests/mm/uffd-common.c index 717539eddf98754250e70e564cd9a59f398bd7ea..a72a2ed5e89480ed06c81b03496= 7ed5ae5f8cad5 100644 --- a/tools/testing/selftests/mm/uffd-common.c +++ b/tools/testing/selftests/mm/uffd-common.c @@ -10,7 +10,7 @@ #define BASE_PMD_ADDR ((void *)(1UL << 30)) =20 volatile bool test_uffdio_copy_eexist =3D true; -unsigned long nr_cpus, nr_pages, nr_pages_per_cpu, page_size; +unsigned long nr_threads, nr_pages, nr_pages_per_cpu, page_size; char *area_src, *area_src_alias, *area_dst, *area_dst_alias, *area_remap; int uffd =3D -1, uffd_flags, finished, *pipefd, test_type; bool map_shared; @@ -269,7 +269,7 @@ void uffd_test_ctx_clear(void) size_t i; =20 if (pipefd) { - for (i =3D 0; i < nr_cpus * 2; ++i) { + for (i =3D 0; i < nr_threads * 2; ++i) { if (close(pipefd[i])) err("close pipefd"); } @@ -365,10 +365,10 @@ int uffd_test_ctx_init(uint64_t features, const char = **errmsg) */ uffd_test_ops->release_pages(area_dst); =20 - pipefd =3D malloc(sizeof(int) * nr_cpus * 2); + pipefd =3D malloc(sizeof(int) * nr_threads * 2); if (!pipefd) err("pipefd"); - for (cpu =3D 0; cpu < nr_cpus; cpu++) + for (cpu =3D 0; cpu < nr_threads; cpu++) if (pipe2(&pipefd[cpu * 2], O_CLOEXEC | O_NONBLOCK)) err("pipe"); =20 diff --git a/tools/testing/selftests/mm/uffd-common.h b/tools/testing/selft= ests/mm/uffd-common.h index a70ae10b5f6206daecc8e19ed3e3bbb388e265aa..604e3572fe17280ae346b031e2e= 867e039578f95 100644 --- a/tools/testing/selftests/mm/uffd-common.h +++ b/tools/testing/selftests/mm/uffd-common.h @@ -98,7 +98,7 @@ struct uffd_test_case_ops { }; typedef struct uffd_test_case_ops uffd_test_case_ops_t; =20 -extern unsigned long nr_cpus, nr_pages, nr_pages_per_cpu, page_size; +extern unsigned long nr_threads, nr_pages, nr_pages_per_cpu, page_size; extern char *area_src, *area_src_alias, *area_dst, *area_dst_alias, *area_= remap; extern int uffd, uffd_flags, finished, *pipefd, test_type; extern bool map_shared; diff --git a/tools/testing/selftests/mm/uffd-stress.c b/tools/testing/selft= ests/mm/uffd-stress.c index ed68436fac62c76e2ca7060c661487f2f8a6ab45..ec842bbb9f18e291fa51de0ed8d= 1fbf9aaf14372 100644 --- a/tools/testing/selftests/mm/uffd-stress.c +++ b/tools/testing/selftests/mm/uffd-stress.c @@ -179,12 +179,12 @@ static void *background_thread(void *arg) static int stress(struct uffd_args *args) { unsigned long cpu; - pthread_t locking_threads[nr_cpus]; - pthread_t uffd_threads[nr_cpus]; - pthread_t background_threads[nr_cpus]; + pthread_t locking_threads[nr_threads]; + pthread_t uffd_threads[nr_threads]; + pthread_t background_threads[nr_threads]; =20 finished =3D 0; - for (cpu =3D 0; cpu < nr_cpus; cpu++) { + for (cpu =3D 0; cpu < nr_threads; cpu++) { if (pthread_create(&locking_threads[cpu], &attr, locking_thread, (void *)cpu)) return 1; @@ -202,7 +202,7 @@ static int stress(struct uffd_args *args) background_thread, (void *)cpu)) return 1; } - for (cpu =3D 0; cpu < nr_cpus; cpu++) + for (cpu =3D 0; cpu < nr_threads; cpu++) if (pthread_join(background_threads[cpu], NULL)) return 1; =20 @@ -218,11 +218,11 @@ static int stress(struct uffd_args *args) uffd_test_ops->release_pages(area_src); =20 finished =3D 1; - for (cpu =3D 0; cpu < nr_cpus; cpu++) + for (cpu =3D 0; cpu < nr_threads; cpu++) if (pthread_join(locking_threads[cpu], NULL)) return 1; =20 - for (cpu =3D 0; cpu < nr_cpus; cpu++) { + for (cpu =3D 0; cpu < nr_threads; cpu++) { char c; if (bounces & BOUNCE_POLL) { if (write(pipefd[cpu*2+1], &c, 1) !=3D 1) @@ -245,11 +245,11 @@ static int userfaultfd_stress(void) { void *area; unsigned long nr; - struct uffd_args args[nr_cpus]; + struct uffd_args args[nr_threads]; uint64_t mem_size =3D nr_pages * page_size; int flags =3D 0; =20 - memset(args, 0, sizeof(struct uffd_args) * nr_cpus); + memset(args, 0, sizeof(struct uffd_args) * nr_threads); =20 if (features & UFFD_FEATURE_WP_UNPOPULATED && test_type =3D=3D TEST_ANON) flags =3D UFFD_FEATURE_WP_UNPOPULATED; @@ -324,7 +324,7 @@ static int userfaultfd_stress(void) */ uffd_test_ops->release_pages(area_dst); =20 - uffd_stats_reset(args, nr_cpus); + uffd_stats_reset(args, nr_threads); =20 /* bounce pass */ if (stress(args)) { @@ -358,7 +358,7 @@ static int userfaultfd_stress(void) =20 swap(area_src_alias, area_dst_alias); =20 - uffd_stats_report(args, nr_cpus); + uffd_stats_report(args, nr_threads); } uffd_test_ctx_clear(); =20 @@ -452,9 +452,9 @@ int main(int argc, char **argv) return KSFT_SKIP; } =20 - nr_cpus =3D sysconf(_SC_NPROCESSORS_ONLN); + nr_threads =3D sysconf(_SC_NPROCESSORS_ONLN); =20 - nr_pages_per_cpu =3D bytes / page_size / nr_cpus; + nr_pages_per_cpu =3D bytes / page_size / nr_threads; if (!nr_pages_per_cpu) { _err("invalid MiB"); usage(); @@ -465,7 +465,7 @@ int main(int argc, char **argv) _err("invalid bounces"); usage(); } - nr_pages =3D nr_pages_per_cpu * nr_cpus; + nr_pages =3D nr_pages_per_cpu * nr_threads; =20 printf("nr_pages: %lu, nr_pages_per_cpu: %lu\n", nr_pages, nr_pages_per_cpu); diff --git a/tools/testing/selftests/mm/uffd-unit-tests.c b/tools/testing/s= elftests/mm/uffd-unit-tests.c index 9ff71fa1f9bf09b3ae599250663a25bbe2c13b8a..2f84fae5642c6f91b75fbf5f5d5= 9ae64a1c15f92 100644 --- a/tools/testing/selftests/mm/uffd-unit-tests.c +++ b/tools/testing/selftests/mm/uffd-unit-tests.c @@ -197,7 +197,7 @@ uffd_setup_environment(uffd_test_args_t *args, uffd_tes= t_case_t *test, =20 nr_pages =3D UFFD_TEST_MEM_SIZE / page_size; /* TODO: remove this global var.. it's so ugly */ - nr_cpus =3D 1; + nr_threads =3D 1; =20 /* Initialize test arguments */ args->mem_type =3D mem_type; --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Dec 16 19:24:33 2025 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B10C2253B73 for ; Fri, 21 Feb 2025 18:26:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162362; cv=none; b=mkJ1pykkV0WkwqGQK7C34tiF+x9DdLby652fGoezuoIEpxX/4Eb798qtkSQl+BWaUDl1yAVwJJyCb1xtgphooyMKzCrOiJxPRsxx3a0ZjJPKJj5VNMQ6N82eTp1sKIU08yFzPPO2IVl4v+td+C3E7y0eYQGGreFD6Cr/Ia0GhQ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162362; c=relaxed/simple; bh=Jd3sS0uhGXgTw9um/6BzDZdcnVVUyQaC/pjolFnZ02M=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=HsitDBxnWVLZU43Kbnw2DuWwxHcF9Kt5I0w2X/WMT97DjmZPX5k42Si6mJ6H7iu0aNnzbxVabIXdeW+nEQK0WhTZ0KOZj9n+9D9bwJNk8ThBm8jP3IyGX/naaUc7QoePzGAZxWhChtitYwpS8G/eMj4nqKML7xt1lQ9NgMLTbwE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=RFc0oUwi; arc=none smtp.client-ip=209.85.128.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="RFc0oUwi" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-438e180821aso12556635e9.1 for ; Fri, 21 Feb 2025 10:26:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162359; x=1740767159; darn=vger.kernel.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=mTW4zFHgqMTpKYtsmp9+cjJMhtMM4lVL076gYjHeNng=; b=RFc0oUwiD/QeWDpIxa0dDUicD/kdqhmSfuHQ6ZvEmLwg5KUDPIH0RBnnpL/k2HH0J2 xRRIeK6wOh4twSFeR82nH4RZEmY7kdx0chDJjIxwLgPvYO+fEJ6EcfZ2cjp5CQbAVRFW 6U+ir3Tryi0/pSrDcSLYAHRx3YqcMy+Xbj5UCZYDlg3KJqMcmfud8Ny7BhhHGmRLTso3 fGJ62tetieZF4F+UZrhMyBEXQrKzJmPQhVm7rqdGQ+jyHMLXQZ+5KA6r3SEYws40uHx+ HQrQ80gOcAdkNB1l7Q/wSzGjNSMgpFHuNCY2XkqtFPfE0xlB0ZbIViqwNaW9CEaF6ISE 8sKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162359; x=1740767159; 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=mTW4zFHgqMTpKYtsmp9+cjJMhtMM4lVL076gYjHeNng=; b=vAKX/IFJKYHZY8t6vDcr6aU1dtabZQNzkyo6HCg2buYIqTjyVzRn/P7RvL4D9f3oSA IpXvP8zXjHEWISO8S/H3ZlfE/k08TldfolmZXj7/nLAhKfGLelfZFm1l2EEs/jhfxKuT FVOE3j/f3zP5Rv3JsReY4kjQJ9KVVB/FdCr8Oma1Qzt5jLIBavroiexM2s/8SH1nrtcT Nl9Ye43Z67IRhtDgxaRPXGsGYDiVtHDNqTn/bna4M8K0Iw0dz5N3gaRSiQL/KI13vQec JnxvqTW9rlyrzqt0ox04h7x3H5Ov9wIfhYKy4Y7S9iLA9YQR7qcRwKbpKaPyy5yb05yg 74Bg== X-Forwarded-Encrypted: i=1; AJvYcCV+zpHxOIxixd0aYJfhjXjG1I4pNoLO4shEQRGzzRGkwwNDfK704u8PsubYw316JyH9sLTaYVC3rGQesAQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyIRkd3RWYeTipZswQ1n2KgiQlDagoTrOiVjxOThlnms/t6jDYO C0ld1NTtzbZS9td8hxbn9DGkwkxGta2io+VCdgEn6kl+uKxTZalg1dwMtPPHiUfQVg2PLZF8tT/ VItBLQZ2nqQ== X-Google-Smtp-Source: AGHT+IH+lec5x9erUgvTpG9GeO/CGpjb1ve0Ipn83JFb9w83c23OEehpnp+ZQ8agucCyadGiN7t3B4OuYtYozw== X-Received: from wmrs7.prod.google.com ([2002:a05:600c:3847:b0:439:80fc:8bc0]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:548a:b0:439:9a40:a9ff with SMTP id 5b1f17b1804b1-439ae1d7bb2mr32069955e9.1.1740162359413; Fri, 21 Feb 2025 10:25:59 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:45 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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-6-28c4d66383c5@google.com> Subject: [PATCH v2 6/9] selftests/mm: Print some details when uffd-stress gets bad params 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable So this can be debugged more easily. Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/uffd-stress.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/mm/uffd-stress.c b/tools/testing/selft= ests/mm/uffd-stress.c index ec842bbb9f18e291fa51de0ed8d1fbf9aaf14372..be0c93f24fccd618f52d54ff36d= 9a5540f420e46 100644 --- a/tools/testing/selftests/mm/uffd-stress.c +++ b/tools/testing/selftests/mm/uffd-stress.c @@ -456,7 +456,8 @@ int main(int argc, char **argv) =20 nr_pages_per_cpu =3D bytes / page_size / nr_threads; if (!nr_pages_per_cpu) { - _err("invalid MiB"); + _err("pages_per_cpu =3D 0, cannot test (%lu / %lu / %lu)", + nr_pages_per_cpu, bytes, page_size, nr_threads); usage(); } =20 --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Dec 16 19:24:33 2025 Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9197253B76 for ; Fri, 21 Feb 2025 18:26:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162364; cv=none; b=DKJMDYNBQNHPyfXf51F0Ya39V36zx4puWGFTpykGQyGlwWsdAxnmHIeel0HX0QRneed01YYWJbIb2RGTbN8F7xJ1TbWhjdefD2Rlk5ou8HhSAh0oywEOqDP6wwE/VWDaOVSrk1ac2e6ODmajac2Zd/YG9bFCk4XZ8fgNuv6uSRo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162364; c=relaxed/simple; bh=0ixIkjkOL34y3eG+6JnRx3HpyEoFjaPmFiUpYG0o8X0=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=PLR27mqDhq/p0UnNllhKOTNqHdE5LgPQzBn7Os9NYCb4dhepFw2gKkCyT8xn2aZkfDna7emYwRvwTKyXy4sXFvXfbQVizjfv9mgdyfgTlfcupylrPoighMJt7pEX7bM7eWLJ0Ipu7eRIeLE1ctUvk8Qefh84xjnhzcHhOrCwBdk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=lW/+39Rw; arc=none smtp.client-ip=209.85.128.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="lW/+39Rw" Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-43988b9ecfbso13332285e9.0 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=vger.kernel.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=lW/+39Rwy1ke3rWDcfzNUyW1cwycG4QN0VX6u+4JIsKdtVtZ4dZyj9I9CDFgBwu07D K0pP44YLDMgEEt59VAXG+9SOR+cSGYf2QRNNCkOuG+MyoOCqf5C/G2IQRedJzjdjS7rM 5gAi8fjbkNaBWXz06d/Y8E9gPYNJpmCQoGbM26OlIkUSnVzzwbIwRuC2ePmx7Smit4aR 3X0tZnumkcUryInGwbLLZKLluFZ2+0lXxvoEjXS853DWoU8VeiPmOm0ky9Nwh5BhBCY1 EEioXpM9XVVXcQMmLc4ZPOVfoC/1stS0w/aiHIC/Ik6G2qz7L4DlthIF4TdW8uh0bnWy jLpg== 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=GiDCDjiPGvH7XA1rwH9xebSjeYHLere03CDPS+1my2vC8ymYhhDZ5vWuM6v7XsC809 hE22EUOvO/PGXTBSWx0mMW4xCAIptIZHeRy2mrj8/XTZefDMJf+8aOrxve5qz4aZHKBn mms7vo/lsa4ipOzGYU1OgJUb0SE7pv2jSjYlmmvgaZuPwCjc9H+gJgWHPLMmGanclWsv ZeWB2st1sbX5EHyVCNwoZqa72mUzFifIoWQHfHGja/Rxhc8CzkSpRMAX9L6XiN8YZIWB nrsMOD/W/MbPM1cqBDHbTURP+Tyfz3KFlQkL3BVyVg9snf+R1BxfeHlLoUQ16KLx9yLV wt0w== X-Forwarded-Encrypted: i=1; AJvYcCXiYfa0x27G+D7uDc6fYbZfHkrISLYT/QJn4XAboFXduiEB20A5HptEDz8hLukuP1gQvMa4JL/fqCFzamo=@vger.kernel.org X-Gm-Message-State: AOJu0YxD5YBroNt0se0LVAYq2bXwnpJ55yxATMpgyQv96SiqD3n5SAdu aEhyezsLjlEmfWMfN80kj0OmOQLzd8chp3G4tgDOHEJDQZfNhz6H6uMQZ4xw2dOqGn9ykA+CSEo ynZOQb2nRzA== 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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/selft= ests/mm/uffd-stress.c index be0c93f24fccd618f52d54ff36d9a5540f420e46..cfadac801ed43e8b6dc331b343b= 6dc4030048f9b 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) =20 int main(int argc, char **argv) { + unsigned long nr_cpus; size_t bytes; =20 if (argc < 4) @@ -452,7 +453,15 @@ int main(int argc, char **argv) return KSFT_SKIP; } =20 - nr_threads =3D sysconf(_SC_NPROCESSORS_ONLN); + nr_cpus =3D 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 =3D 32; + } else { + nr_cpus =3D nr_threads; + } =20 nr_pages_per_cpu =3D bytes / page_size / nr_threads; if (!nr_pages_per_cpu) { --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Dec 16 19:24:33 2025 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7AB2B253F23 for ; Fri, 21 Feb 2025 18:26:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162366; cv=none; b=FekDWHy6ARuyD5O7gtspdteN6qA6FDi7ELuz3xUBwQ9eyb5M9BZvdz/4R9X9+Z8LFzx/2VKEGKNxrJpMzg7CRzJWecnooaYpP7eCo8iS6spQCy8CECOH8wdq9mMHHi05UgSk32OZ64BMbnJxvQoeUQLuSg2M0+eKDOMKF01dlzM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162366; c=relaxed/simple; bh=0VVzpjNfd+6snGR0TjzfQ8zQNDKzei8aKaEhvskOFCk=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=jtOco5HUz3cXDuddLbqx306nhavcl6KlbgSqHgXQ1arot3JQMH0Cec8bAWRKXG4yD9NwsQ3yPyRL3aFEdqapDLcv/7zoJNdfIXDZtUdrIJikdkO9XA1HOZwEloqE1qOTljUkVot5kSCJyMI2Brw23vemG1oc+fq+I02jbDEhuxY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=KAHLTkYj; arc=none smtp.client-ip=209.85.128.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="KAHLTkYj" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-43941ad86d4so12240875e9.2 for ; Fri, 21 Feb 2025 10:26:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162363; x=1740767163; darn=vger.kernel.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=tBZNxOekeKV0LYb007rKOQkv4qSAcfWIVKd3wLeISbE=; b=KAHLTkYjgqS2gEdw80e0AsykQPvzvthbmiNo4HB9uSAEv7iLlQKFR6HrJsOtewAX5T Ar8m9AO4OZPkA//fzq6YlSaNSZeGqAJ5sy4A+j+1qe/FBnuvVjR1eIvuBG0NGbTj4Wn/ 18yLiwVinIxeFKP5EHq4rS1xrAxAJcquL/mgSECT6AEdem5B3I91xuiXgy0FrYBN1V60 MEDACqVpZRdQfsrY6HInES+i/BUO5lF0r3GRg5kDdeAOx5RDWfmRbRoiu/rCmbBBRXTj dOVynd7jQD8fvC7K1GVqNdyLp9YXT3mSLXAMQ42Udy97q4lJ/WROEuGqsENpEbq3xzTF F8oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162363; x=1740767163; 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=tBZNxOekeKV0LYb007rKOQkv4qSAcfWIVKd3wLeISbE=; b=jGnM5yGxIaRGsBNNI5oep1z3hx9NF5xj8GpEPaePi5EadPuVnpcaknBHGW3BxITrIX MdWgweg8n0wpE58tvzx0/+W7cKy5D0OfICEqLJWOOVMftVTCNvl5Ws/msdgdGfjbbJ1J Lt6XYXu+QfMIm7JkjYBaTwvpp7+ZsUOKZ/k8jjCCVIn1eC+poJaFfxac6IONdXgPA5VM heLIERxrWPXFXaI0pjrZ+1zl8B6mhxcLifbdYznT5Z6NOTMfUsT8uhtu2hvt0mttddUm 6/AQ0Zub7JBQKOzbc+mwv6lI9yNTOgDCI4wWG9H+moctJTvtk6sEGGzh94hzq3Wip8o7 ALpg== X-Forwarded-Encrypted: i=1; AJvYcCW9DVWyUIPaT0aKzwXin5ZBflZyx94B8ZKzp9jlxmmD5zWN3cab5CbJPnLWR7c7TkhlR2EDG/Yg88+UZ2w=@vger.kernel.org X-Gm-Message-State: AOJu0Yxjs88frx7Q909Y+ooVUSBLHjVZUqvKazrJTGZhijkiOgs3WtIq jsrDdC5VvgYtpQ9wkj1QuCX8HvRCGPTAvwykX5b57mYq56UYxB+1C3pu7xIGuyn/IA4ImJF9dNW kf6EpzKQg5A== X-Google-Smtp-Source: AGHT+IExPP5BlXnuhegFwP5+f6OWmFBTfcOqXQgMBOZhO/TZNpjmVHE5y8AbHxBbpzzmIk1bu6Aq9tp7s4OWUQ== X-Received: from wmbay5.prod.google.com ([2002:a05:600c:1e05:b0:439:9541:1cf5]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:4e06:b0:439:9274:81d0 with SMTP id 5b1f17b1804b1-439af0d5031mr28996635e9.1.1740162363271; Fri, 21 Feb 2025 10:26:03 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:47 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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-8-28c4d66383c5@google.com> Subject: [PATCH v2 8/9] selftests/mm: Skip map_populate on weird filesystems 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable It seems that 9pfs does not allow truncating unlinked files, Mark Brown has noted that NFS may also behave this way. It doesn't seem quite right to call this a "bug" but it's probably a special enough case that it makes sense for the test to just SKIP if it happens. Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/map_populate.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/testing/selftests/mm/map_populate.c b/tools/testing/self= tests/mm/map_populate.c index 5c8a53869b1bd287b09a250edf628a66c25c2439..cdd88531dd9fe98f2d25edf4878= 659767c919e8e 100644 --- a/tools/testing/selftests/mm/map_populate.c +++ b/tools/testing/selftests/mm/map_populate.c @@ -87,6 +87,13 @@ int main(int argc, char **argv) BUG_ON(!ftmp, "tmpfile()"); =20 ret =3D ftruncate(fileno(ftmp), MMAP_SZ); + if (ret < 0 && errno =3D=3D ENOENT) { + /* + * This probably means tmpfile() made a file on a filesystem + * that doesn't handle temporary files the way we want. + */ + ksft_exit_skip("ftruncate(fileno(tmpfile())) gave ENOENT, weird filesyst= em?"); + } BUG_ON(ret, "ftruncate()"); =20 smap =3D mmap(0, MMAP_SZ, PROT_READ | PROT_WRITE, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Dec 16 19:24:33 2025 Received: from mail-wr1-f74.google.com (mail-wr1-f74.google.com [209.85.221.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB905254AE8 for ; Fri, 21 Feb 2025 18:26:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162368; cv=none; b=U+CE473NnoEiq0GoKpjR5ffnNhemOXsHDcbeqTNj+a1HcRsTXok0mcMWoNtk69F6tn0vwUlcVXLEJOJTT4F3RH53yexkq/YBZTxTt4eavo9sO/Mk0d+PTWkVNf4N6eS3PPLD/fvAx+l0VJyTDZACNWcFhMHT+CR4fiEKPEpp8BM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740162368; c=relaxed/simple; bh=uRBelfvaEdQdCkhdUYmMVXt6DODojaVENI1CAnkwNhM=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=YwX9CCd3/ZJaDKrjWFKZ2EFN1mKTU7QDKI6J9fGv/BY+d6S7YzrUTZqoaSX3+peqsNkyFHssX+eks+kBp1mLwTNfyWbCEmsJG6R12wpKCMbpTqXUG2n5xu86kyVuzOBfUKjs4xR+e5nk9oMqinaWaeKgrOnoytXJwvej64mYG0A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=TalJd2Ez; arc=none smtp.client-ip=209.85.221.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="TalJd2Ez" Received: by mail-wr1-f74.google.com with SMTP id ffacd0b85a97d-38f628ff78eso1274785f8f.1 for ; Fri, 21 Feb 2025 10:26:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740162365; x=1740767165; darn=vger.kernel.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=2e7w9nwzCjzPZWGspc8NxDnIM4geLXbTYJr2yLaA18Q=; b=TalJd2EzeNeJTKsnPTE2/02Pr2LR7lCOH4QL9WvF0uUV86muqHQt3DUp78pF6HWguh E3CMTNLn/bEg4cnq1dlihaKpFQBZ3F+jv44sK7SFYlaPv8hN5DG6gaT0OaMBnoTzYSNt YV+tyD7e8HBqLEWG0/x5KgOvJo5pjBdQ8smP2Pved+bIG/kVlMK9Y6oP86PbugVqP1YH UA/m9tskXQDQMx8hC80M6ehCUHKoulyq/O6vfN5s9z5x3dj4C9TOmcFe7ErNluSBjTFN 0EypmFzua0WBvP6CqkZQWyN+k+4oFCcBgJVP8H+ijE7ToBZWZMlrBa2xWenEWQ5a6WIi 2HGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740162365; x=1740767165; 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=2e7w9nwzCjzPZWGspc8NxDnIM4geLXbTYJr2yLaA18Q=; b=BvbeO8zp88+tLdqwOOKWmKr8UAtnZBn7IAhvXW5IIpwLVxrruvtZ1AlFPvBVwdwJh8 AQztVxYW6VJ/6f9d4sSykdN79U4sKOmzLE6TPYrm9rrEMU1tIXHbGg1NeKNXNiouIrkz SRAz8XkvyfOa0dA3Sbm5uB7uFYd4FAqUmOB37k+HHme4Uh7aMVCmrM3Zg4opQqn+UU8Q Ofpsy1Rvt/Szh/eyRaJnVh9S06PF45kUWQ9aQcizWVj6HkhxLCA5UXs8gQ28aeuKUzDa sKJwd1mM8cndPY0MV4M5R6FcmSf3kr2Mu/PhcWykPeWa/47eYR5pqACeakCnoEAWiPgp I3uw== X-Forwarded-Encrypted: i=1; AJvYcCUzLQzsN2t9PhqEq8/CniltEuI17MSlvRuV6a7jcI2f6ceMdYW1ozT50rVQX97CFAu3YfN4rJpZbV2Yfcw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2eALjgRZFj/32MYLqhQuHpfs3jRz4KCGR8ozLKEgFuiwEqSDb tzr+Joy6ITVRmcbgYws/VtZHBrP7NA41FZVPpsvioRZvRibtf1xj5W989LvSm6CwdXmiVcAKd13 DZF7ecb28Yw== X-Google-Smtp-Source: AGHT+IHKAN4X1WE6vOVXmZ8oqu4LMSySVfvQR6MA9h9oN5ISJfTl+vRicPSeLj0ewNqzdhKSvvV9TtuuixKmEw== X-Received: from wmbay18.prod.google.com ([2002:a05:600c:1e12:b0:439:7e67:ca7b]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a5d:6486:0:b0:38d:dffc:c14f with SMTP id ffacd0b85a97d-38f6149915fmr7561482f8f.1.1740162365263; Fri, 21 Feb 2025 10:26:05 -0800 (PST) Date: Fri, 21 Feb 2025 18:25:48 +0000 In-Reply-To: <20250221-mm-selftests-v2-0-28c4d66383c5@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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-9-28c4d66383c5@google.com> Subject: [PATCH v2 9/9] selftests/mm: Skip gup_longerm tests on weird filesystems 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Some filesystems don't support funtract()ing unlinked files. They return ENOENT. In that case, skip the test. Signed-off-by: Brendan Jackman --- tools/testing/selftests/mm/gup_longterm.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/mm/gup_longterm.c b/tools/testing/self= tests/mm/gup_longterm.c index 879e9e4e8cce8127656fabe098abf7db5f6c5e23..d2c33dd9da9cd43cc6666e5d9ff= d3ff9e62dbb27 100644 --- a/tools/testing/selftests/mm/gup_longterm.c +++ b/tools/testing/selftests/mm/gup_longterm.c @@ -96,7 +96,15 @@ static void do_test(int fd, size_t size, enum test_type = type, bool shared) int ret; =20 if (ftruncate(fd, size)) { - ksft_test_result_fail("ftruncate() failed (%s)\n", strerror(errno)); + if (errno =3D=3D ENOENT) { + /* + * This can happen if the file has been unlinked and the + * filesystem doesn't support truncating unlinked files. + */ + ksft_test_result_skip("ftruncate() failed with ENOENT"); + } else { + ksft_test_result_fail("ftruncate() failed (%s)\n", strerror(errno)); + } return; } =20 --=20 2.48.1.601.g30ceb7b040-goog