From patchwork Fri Apr 19 07:43:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Roberts X-Patchwork-Id: 13635742 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 170B0C04FF6 for ; Fri, 19 Apr 2024 07:44:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 959A06B0089; Fri, 19 Apr 2024 03:44:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 90AE76B008A; Fri, 19 Apr 2024 03:44:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7D29B6B008C; Fri, 19 Apr 2024 03:44:08 -0400 (EDT) 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 5EDC36B0089 for ; Fri, 19 Apr 2024 03:44:08 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 0679C140C42 for ; Fri, 19 Apr 2024 07:44:08 +0000 (UTC) X-FDA: 82025492976.13.FC181DE Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf08.hostedemail.com (Postfix) with ESMTP id 4F25B16000F for ; Fri, 19 Apr 2024 07:44:06 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf08.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713512646; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3a7ljbEYFFKg7Z46rH+RZ1RgtbNibGzF7Gg3KSVCk4U=; b=BRtowYxElDilh/895reaNP6+4tPturIkw1lFtZUvRn1d/k8Rf+6QFb1FerjRLIUHPaiFTV jKgsUtoACew/C0yQl3ATyvPaRBBvL9CHT1HmLYUCP4gRYmARKEhbYoj3krGCigawCxclI9 QNCgiO7phfZZMPL1xrm/jwp2dGjjYgg= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf08.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713512646; a=rsa-sha256; cv=none; b=cSNjQlA3H2hDGP1/NH5sziIQfZTlplTc3IQ3HWVpWajubFosW71sDwvDDvYr7oUXBwgYNt GJ1lnGJ77TptQKiliVIXvxPc/8/7on0oEuD9y/5ZxAWWUWjl13hK/eSHHy1tontwik8JaO ZCcJgJh0QbJ08kplWYmAnxqdf0ud41I= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CD9682F; Fri, 19 Apr 2024 00:44:33 -0700 (PDT) Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com [10.1.196.27]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7F6D43F792; Fri, 19 Apr 2024 00:44:03 -0700 (PDT) From: Ryan Roberts To: Catalin Marinas , Will Deacon , Andrew Morton , Shuah Khan , Joey Gouly , Ard Biesheuvel , Mark Rutland , Anshuman Khandual , David Hildenbrand , Shivansh Vij Cc: Ryan Roberts , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Subject: [RFC PATCH v1 4/5] selftests/mm: Enable soft-dirty tests on arm64 Date: Fri, 19 Apr 2024 08:43:43 +0100 Message-Id: <20240419074344.2643212-5-ryan.roberts@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240419074344.2643212-1-ryan.roberts@arm.com> References: <20240419074344.2643212-1-ryan.roberts@arm.com> MIME-Version: 1.0 X-Stat-Signature: y4mgsi7xbcjhxfigfkzg4g989icy1fob X-Rspamd-Queue-Id: 4F25B16000F X-Rspamd-Server: rspam02 X-Rspam-User: X-HE-Tag: 1713512646-766125 X-HE-Meta: U2FsdGVkX1/o6WSh2D/LlE8gJe6+8/U1QX2V6mI43W5o4CqXCgC3E9/1uCBxZ6rWxD+TTXCd1Ao+CmOK342WD+wKjAR7medlNnLM/1KJ3ryi2+Ryhf66b65d0ImtXqFmCLmK9AQ6Q62t6OCTM1iU6gvwGejm4pE9wEma5Qhsi5UGs8BVi81HvqSXqhLUjCWuf1AKsTcZhcazwjUhZqryzrzkIe6eQnD/s1OXkJdVDMTG4qmrhjS3NVjB6w0f0NPmcOkmRYGAx54G4cU0i6c61AVY2bG08fBv/FuYbyki3CgCZdwU3+r0JFlwMf52of4tjIWMEF3OP0ozQ2LpWqLMMTxG4ijzQNgraNiH5MBM4r/qr9xSvmh6PhxiOZGbDu618S6/wIadVB4BKyotA3jysIAwBP069nLN0UHJa+hjANpZV9PNJk3oktnmlNBbY2mLnchalHiA2HrGAACkKIGhFV/mYCB9Y8cP/mbMn/6u6+657SX90DvaQzFEUQotNmPz5VBAhUHEJsOTk71TI4CuBcvftI0zf9aC6kysAfpBsiuo54R3qzQ4NV3KwDOb6mX1jHX+qZ3m7jVNO6KlehfpRMWrIDH7NVV/U+xcZUFCbK8uxpVuIbr2LCoMkIMBHvassuB5omtX+BF2eMOTupRSWadbyZubyapLCr+nsLVcj7PhT8swITvHRFWiXMyIjLQZAK8XAOTMx0Hcy+aJEbK3MlAQtUKwGy763p2gDn54Ro+Q2P9dtb2g5rCLmmP59OA4mBo/LuawsiJ/A/GLZGH/eatqHM/MXy/V6OBWypNpc0sq9GckeXmNa8RqlpDRWmbS98hxlLK4AoI1MWudEJsxQGV9n+R4VlYFPoBKVc3T+SkT0E87Ga9hShKGzlIR3laT9F1hnt+JwEHA1mCu6F4gr8ksLvppHRKIblHip4j/MQrHHpfuzjtvyLVVaha7yGVH+WnhlcrBLADZdvXKcGb LIulnrzS I8yYtaVZGxvIzq0gMjFn9uzwTRxcZbhms58D+mV2Xr4NOd7yTxXx/GSwF4HRu4PxjSW85v2sFSo8CnklRXpbBCtxi4USam7Q7tWgwgp7ezPkDUiBTe7DWk2RC0kTEl7Ax9LnyMWUolJyeGhpT/3spuL7/hUrYJFWI1s/6 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Now that arm64 supports soft-dirty tracking lets enable the tests, which were previously disabled for arm64 to reduce noise. This reverts commit f6dd4e223d87 ("selftests/mm: skip soft-dirty tests on arm64"). Signed-off-by: Ryan Roberts --- tools/testing/selftests/mm/Makefile | 5 +---- tools/testing/selftests/mm/madv_populate.c | 26 ++-------------------- tools/testing/selftests/mm/run_vmtests.sh | 5 +---- 3 files changed, 4 insertions(+), 32 deletions(-) -- 2.25.1 diff --git a/tools/testing/selftests/mm/Makefile b/tools/testing/selftests/mm/Makefile index eb5f39a2668b..7f1a6ad09534 100644 --- a/tools/testing/selftests/mm/Makefile +++ b/tools/testing/selftests/mm/Makefile @@ -65,6 +65,7 @@ TEST_GEN_FILES += thuge-gen TEST_GEN_FILES += transhuge-stress TEST_GEN_FILES += uffd-stress TEST_GEN_FILES += uffd-unit-tests +TEST_GEN_FILES += soft-dirty TEST_GEN_FILES += split_huge_page_test TEST_GEN_FILES += ksm_tests TEST_GEN_FILES += ksm_functional_tests @@ -72,10 +73,6 @@ TEST_GEN_FILES += mdwe_test TEST_GEN_FILES += hugetlb_fault_after_madv TEST_GEN_FILES += hugetlb_madv_vs_map -ifneq ($(ARCH),arm64) -TEST_GEN_FILES += soft-dirty -endif - ifeq ($(ARCH),x86_64) CAN_BUILD_I386 := $(shell ./../x86/check_cc.sh "$(CC)" ../x86/trivial_32bit_program.c -m32) CAN_BUILD_X86_64 := $(shell ./../x86/check_cc.sh "$(CC)" ../x86/trivial_64bit_program.c) diff --git a/tools/testing/selftests/mm/madv_populate.c b/tools/testing/selftests/mm/madv_populate.c index 17bcb07f19f3..60547245e479 100644 --- a/tools/testing/selftests/mm/madv_populate.c +++ b/tools/testing/selftests/mm/madv_populate.c @@ -264,35 +264,14 @@ static void test_softdirty(void) munmap(addr, SIZE); } -static int system_has_softdirty(void) -{ - /* - * There is no way to check if the kernel supports soft-dirty, other - * than by writing to a page and seeing if the bit was set. But the - * tests are intended to check that the bit gets set when it should, so - * doing that check would turn a potentially legitimate fail into a - * skip. Fortunately, we know for sure that arm64 does not support - * soft-dirty. So for now, let's just use the arch as a corse guide. - */ -#if defined(__aarch64__) - return 0; -#else - return 1; -#endif -} - int main(int argc, char **argv) { - int nr_tests = 16; int err; pagesize = getpagesize(); - if (system_has_softdirty()) - nr_tests += 5; - ksft_print_header(); - ksft_set_plan(nr_tests); + ksft_set_plan(21); sense_support(); test_prot_read(); @@ -300,8 +279,7 @@ int main(int argc, char **argv) test_holes(); test_populate_read(); test_populate_write(); - if (system_has_softdirty()) - test_softdirty(); + test_softdirty(); err = ksft_get_fail_cnt(); if (err) diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh index c2c542fe7b17..29806d352c73 100755 --- a/tools/testing/selftests/mm/run_vmtests.sh +++ b/tools/testing/selftests/mm/run_vmtests.sh @@ -395,10 +395,7 @@ then CATEGORY="pkey" run_test ./protection_keys_64 fi -if [ -x ./soft-dirty ] -then - CATEGORY="soft_dirty" run_test ./soft-dirty -fi +CATEGORY="soft_dirty" run_test ./soft-dirty CATEGORY="pagemap" run_test ./pagemap_ioctl