From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7A94C001DF for ; Tue, 15 Aug 2023 23:26:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D83F1940037; Tue, 15 Aug 2023 19:26:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CE6F88D0001; Tue, 15 Aug 2023 19:26:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B5DA2940037; Tue, 15 Aug 2023 19:26:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 9F8BC8D0001 for ; Tue, 15 Aug 2023 19:26:08 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 79B784032A for ; Tue, 15 Aug 2023 23:26:08 +0000 (UTC) X-FDA: 81127924416.29.C2B0E22 Received: from mail-il1-f169.google.com (mail-il1-f169.google.com [209.85.166.169]) by imf30.hostedemail.com (Postfix) with ESMTP id BC27380013 for ; Tue, 15 Aug 2023 23:26:06 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=jqvg+OKU; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.166.169 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692141966; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=yuFOXmtSNny9sLwdulB8nAUmEQZyFm5IBCtyhhdlg5o=; b=hgs0hrx8EtRBFW1qrbCe7s9Nlz1scwHNy7i2eOm7pDPwuATUe0DbFl8t7YxY5IWB+7rP3y ZKLJdhEVCkWDqyHXHy5VkSxiJ8nmKOIbo1OFSgnHjrOYSiwps/A4p4PXSo2bcJRclm78yM y9QDxdB41ttnYdlRcO25B8QFqsHkncY= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=jqvg+OKU; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.166.169 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692141966; a=rsa-sha256; cv=none; b=fU81KNvA5Aro6XAESVA8DAAFFXJPDP6V132/SNGJGuvQ4JzoBNflfeXJQAQ9ULn0z/SJdQ b9YdSZh/HcKpFXOTv+ShEQPS2ECkHU0DkGar0D6pwQNCbZC7lw6/cDjFOdJr22glGVIKgR jZBubQuK+zAyGR+kjIABygvg35SOjqc= Received: by mail-il1-f169.google.com with SMTP id e9e14a558f8ab-349a1cf0ae2so20991905ab.0 for ; Tue, 15 Aug 2023 16:26:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692141966; x=1692746766; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=yuFOXmtSNny9sLwdulB8nAUmEQZyFm5IBCtyhhdlg5o=; b=jqvg+OKU+BdVajqZOkReX1+RHnXR+7InhHkL9knqU8H+lVM7RvKDa0TlQ8r601XW5I CIUrbY6VfQbRzLZ9Y3QYE3j5J3cBRALQFFk8XAGUl+Y3VvQqsahzwmSzQ+TqYi1gOojd Ss0dSqXBSABfMwAw9jgaGR7GIhYxwz1quyTMTTbScu4cmanMO/02pMSxAACh5idnHyHa TLtscM2wLm29gPRZo2crI3qkhI3hboBUsoDgMfx1n1oE3PQi8YZPpPUSu4GiCmCZVuoq lBHipjBXNFOaALK+fu2yPwwelGsgYdTxKKw+1FtGi/bDfic77M9vQUzU721TkMmK+Cpo dyyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692141966; x=1692746766; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yuFOXmtSNny9sLwdulB8nAUmEQZyFm5IBCtyhhdlg5o=; b=MgXZS21d0rzsUrtNx8RP3LOArKmMB6vbtkgmWV2otxCRvILbaoiljufpnnyFHvT4or 9V7gG0rfdBRjvynsYO0ti8pgorUZyRRo52MWvwM9ku6Rc3n8L6YNNX1xPJ0b2ksH3/CY jH0fGYC1/4uJQuAwYkAO6FnLwg+HmJ2z2DjxtxWXVWVxsx7Faq7zrRP2vG8AS3zx5aTK 3f2BXJqAve9bLudo61pjAkof37n8zbqd5k7aZ4+GGVLKnKc5j3sTkom2LEI29qB5V43N dQon9VKuIZlX4wiJ/6nFXbPh/a268KKTp8EVW7yI3R0fBDrmmDtnXkRgYnoVdGgCA30i kS0A== X-Gm-Message-State: AOJu0YwcMWy4hy1QQlljU1blURa7YNizjYXp7TTDHauLdQjsYUdnuFS4 K62pkn45aYmh6V8qE9xzEHtEX9I6R90dllueVVA= X-Google-Smtp-Source: AGHT+IH8BU95JCOFeRU6qCQ9pPnR0FH1UKm37FfLUUA0ybas4MbPzgqExxhQqNeCSW7tJt8xpgtaVNsczjD1HmMaGBM= X-Received: by 2002:a05:6e02:f45:b0:349:77c7:2ab4 with SMTP id y5-20020a056e020f4500b0034977c72ab4mr496504ilj.30.1692141965799; Tue, 15 Aug 2023 16:26:05 -0700 (PDT) MIME-Version: 1.0 References: <20230815155612.2535947-1-andre.przywara@arm.com> <20230815155612.2535947-4-andre.przywara@arm.com> In-Reply-To: <20230815155612.2535947-4-andre.przywara@arm.com> From: Nhat Pham Date: Tue, 15 Aug 2023 16:25:54 -0700 Message-ID: Subject: Re: [PATCH 3/3] selftests: cachestat: test for cachestat availability To: Andre Przywara Cc: Shuah Khan , Johannes Weiner , linux-kselftest@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: mfk99pn4ynnwj1d64ipe19ffueis4s6k X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: BC27380013 X-HE-Tag: 1692141966-848543 X-HE-Meta: U2FsdGVkX1/OYZkzv/QtZA6t/qliPZjjDscD0i5w/FYabgCso1gVdb1R5AZNEP/S+NQQ8R9YfeiJfEDLSoiJpqq5+Ob9k54QvPtyVnYVgLjZzK0mPE0lovf9pvnHb6lag3+drniuCxGT9scjJlWLEcQxRxZ76k4dz2FXLmPesuzGZ19mds4XpY2cwx5OfFJO3AguQO6NecNTcP+H2D1QiDCt4zYElCRnRwFTUd/KgQOUk0NC/pW96aB+e4uJh7YWkyhtco0uWm77d6QCcFSzND87yv3Rk9atM61jO5jFSUV/KGiqQzD6dCc5MXZIArc7Q+esar5L6c5saLJ9I7/W0xiEP+EopwdVMRTrOnklESV3c+1s07aYSRfjCNpNjpn4f5Z0GNNhBPtOUNJnIHsU2x0JaM9JFLoUcB4pVYh5aVHxq6VdzG4jdsF+HU4EFsFsp048n3o43UYjIO16Ctpff8xyw5fwRmTzHs8FgrMgkkhp2aceREPiYRi4rnJc0PAqFgRSo6sqTcrqvmIpQ5FnHEFqrAoTb+WWwrNmWpoNUEqHisyTcNema2s/ywLv8el2ajXGQ/XbPVLeIrbd2qwButC1EOew319vgFPL41fjQzz69g5pvz/IxRkHBtGmTUk+iYJ+lQjZ3E5EJKULtWhOEYaVaEnroxJAaCykzO/+4Ssu6MppALAhuceLODprIgHv3hyub93vVZdf1FrHQ7E1eSM942124m1fGtdBbHHxdn4Suwmf5VjTOGZCg2pzVAk/qtFAcvnG0OXJQ0JioOhgfWe2Gz438PZY1DbXxpQg2t3K+gb15BWJAVjKllHyoiM6XCzEG5AKCQVkF9VRMTLnGgASVq5eIUg1E9Ei7efgjxbMRFijaPdzleOVkccsnm/0Vtpvhr1VyZO44hdt4GGihHOUfDj7f1d4/Qg9oWNsIGyPeljUDrMVtnLba4Z4mA5WRSylTb3Ky3oYHqzFGBJ kQ+H68qk 8XocwqfYi2ms6r5bWCfqsWY+yW/PDSGqS9RwkpbkO5zLZk1HuK8Z2h9WoLbsagOzYUNddU3BNaz3IsG+zG4lu+rJaDH4GxsNHNoL9VPyrW7jdiEkmo+nolPP0uqK2YLZH1xJ50G9gjD+dvjsD42CNnkuYh8X9i8FOOFC1wpcaiIc+pOD2biGxam8BOUlChi0jt875oWQvqpRDJdlFfT2WAOCVirP9N6POmV9slI5TgJnQDeOHpy8P6bLv6KSoZgSjIbPEwbjLtNNBW2evrOwE3NEpnw1Cwtm6t9coDo1JF3q4KCITm4zJOtBPxvo7ojRSmDtp0SLLybIPiZr79lgnSQGX4ETkKnm58JEDwRHt/AFLvybGz1uPjwN/36EERDr+NrdDjTINUeNWmjl1FJKX6fiYmlDk6Xg9ezmS/rmSdDPXqAz8jY07hq3wrw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000170, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Aug 15, 2023 at 8:56=E2=80=AFAM Andre Przywara wrote: > > As cachestat is a new syscall, it won't be available on older kernels, > for instance those running on a build machine. In this case, a run > reports all tests as "not ok" at the moment. Interesting - I was under the assumption that if you backported the selftests for cachestat, you would also backport the syscall's implementati= on and wiring. But yeah, I guess if you build with !CONFIG_CACHESTAT_SYSCALL, these tests would fail. > > Test for the cachestat syscall availability first, before doing further > tests, and bail out early with a TAP SKIP comment. > > This also uses the opportunity to add the proper TAP headers, and add > one check for the syscall error handling (illegal file descriptor). Thanks for the addition! > > Signed-off-by: Andre Przywara > --- > .../selftests/cachestat/test_cachestat.c | 22 ++++++++++++++++++- > 1 file changed, 21 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/cachestat/test_cachestat.c b/tools/t= esting/selftests/cachestat/test_cachestat.c > index a5a4ac8dcb76c..77620e7ecf562 100644 > --- a/tools/testing/selftests/cachestat/test_cachestat.c > +++ b/tools/testing/selftests/cachestat/test_cachestat.c > @@ -15,6 +15,8 @@ > > #include "../kselftest.h" > > +#define NR_TESTS 8 > + > static const char * const dev_files[] =3D { > "/dev/zero", "/dev/null", "/dev/urandom", > "/proc/version", "/proc" > @@ -235,7 +237,25 @@ bool test_cachestat_shmem(void) > > int main(void) > { > - int ret =3D 0; > + int ret; > + > + ksft_print_header(); > + > + ret =3D syscall(__NR_cachestat, -1, NULL, NULL, 0); > + if (ret =3D=3D -1 && errno =3D=3D ENOSYS) { nit: if (ret && errno =3D=3D ENOSYS) sounds cleaner, but up to you. > + printf("1..0 # Skipped: cachestat syscall not available\n= "); nit: perhaps ksft_print_msg()? > + return KSFT_SKIP; > + } > + > + ksft_set_plan(NR_TESTS); > + > + if (ret =3D=3D -1 && errno =3D=3D EBADF) { > + ksft_test_result_pass("bad file descriptor recognized\n")= ; > + ret =3D 0; > + } else { > + ksft_test_result_fail("bad file descriptor ignored\n"); > + ret =3D 1; > + } Nice! > > for (int i =3D 0; i < 5; i++) { > const char *dev_filename =3D dev_files[i]; > -- > 2.25.1 > Nitpicking aside: Acked-by: Nhat Pham