From patchwork Thu Jun 15 18:33:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13281672 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 89489EB64D9 for ; Thu, 15 Jun 2023 18:33:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 183016B0078; Thu, 15 Jun 2023 14:33:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 10C658E0002; Thu, 15 Jun 2023 14:33:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EF0088E0001; Thu, 15 Jun 2023 14:33:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DB6AB6B0078 for ; Thu, 15 Jun 2023 14:33:33 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9594C1409E4 for ; Thu, 15 Jun 2023 18:33:33 +0000 (UTC) X-FDA: 80905830306.03.5E32DDD Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id CC2C740022 for ; Thu, 15 Jun 2023 18:33:30 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="fvmFV/WW"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686854010; 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:references:dkim-signature; bh=77u9Ecxe/k177BLYwpjv293sgACR8Td6+c5LpAU7e70=; b=8PHKiCAdoc9wacTuYserfeq+56EHGubFmMiOl4nRbrU6TvKWAUgakOiq03AwuqyOk5d2Lq +FiK/EsA6UUJWmnq2x0p1iS61Hd2+bd60Cok45QOU25uieKp521C20IyzPEd4u7SMeMivL DNHIgn5rRwq41FjTYOplnqrfbtbPki8= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="fvmFV/WW"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686854010; a=rsa-sha256; cv=none; b=w1bZuIuUpYk48sb584KCA4+084t3/lfedC8edYQdo8IPTCTPxNcGwgfp75/8smc+VcTY9P DP12nRDeZ/8C9gWMa3eeLymaWP1j//mGsubjUvKpD7kVFeQTo+AumqMXmkEZvPL0eOVwwn pzwYRQ4lRGdw/sK9+w+gbodnov2nAJQ= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8FE2762230; Thu, 15 Jun 2023 18:33:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7D96EC433C8; Thu, 15 Jun 2023 18:33:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1686854009; bh=Dsjd+ZpmvL/6xXc3Y13JGILcWmi7U4GqyYJ6md9X1xY=; h=From:To:Cc:Subject:Date:From; b=fvmFV/WWm6mNcOwWDpoxuttJZLSXSm9ssx8ToCjmoc+cU34XimcYrjr40gM60l9Rq 0fQINZ45Fqh+rXllOcuqIQLG8+Y8TzEUkIjXv8qPDZ3SlVa1XFkPQDIMG8ms5CWUsV cEqIsm/794h9b10+BGqxu3XPqzmmVMZoIBar/pOOdt58PU5zmG1LmJKjqvspCDTyoa y+ayOOLfq7RiJy36JsOR42b/eFiPNv2ekpW2Jsvt577E6C+o1wLaiQ0TB2bDzWL4Bs cX5VJnT4kI/pE7PF8agPnlLQN0H3rRum+cWkATm+AJTrWlTgqRMj+BKkkipUR87EEu 1ph524/oH87Gw== From: SeongJae Park To: akpm@linux-foundation.org Cc: SeongJae Park , wangkefeng.wang@huawei.com, damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] mm/damon/core-test: add a test for damon_set_attrs() Date: Thu, 15 Jun 2023 18:33:22 +0000 Message-Id: <20230615183323.87561-1-sj@kernel.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: CC2C740022 X-Stat-Signature: wini1am3tyjpzirzrzpjrk5ctj8xmrhk X-Rspam-User: X-HE-Tag: 1686854010-166375 X-HE-Meta: U2FsdGVkX1/ofC5ePzFQwpXUSnsftguEl2ZfnoDADbv5SQzSH2QyckDqgtSWlJNVjo2q5d314G6M8Z18oZjZ+ffhzbE5+BNzjQY/HYXVODBUFTGDCIFCoy/aXqJXSMxxr370JbZGqjfvhs6Z4ohA0trGVBdQOgCgRZEl9c+pk2lCD9NCEV8i410s+S03xS9Rx+GBbFhUWUA22dRa7Rcdx00TzoCvuwr3/2m0aR1bBFQMObf3lkKoL4zggC7e3NO/XR/XkRXASwn9XuN2am8Xntc1e53esqFWEbFWQDonFCkxS4CiK+LchAgy0Agd0BBDFCYkWMaTfT60TxzbTZQQKaRoNPf8GZ73MqDZTMsYjXKoVLWYVm7byuVYGOUNfYjYESEbiRgn/FZmTx81hKf6uPxISdm8kageAyuOdbg7VP6xvbymGpW5MA3RLFIPSJGoIyWvSJwgLy8bqfTXEHDoGW131WgW0JH3Ui8lER3leU/30A8CIw4o4BP+u58ncZExqMc0S/JMQLbfUJqiiE5mJkVPbF9bAlO6Ij6+x06KfB1UYQ8VJ7x+vWcAEcDpt6lAPkPqG/7OV2TALz88QIzKPcayn8XtpWVGPP2ZTYRut2DN5QG6R4epiPjPrRJz4wrcuseen7OTOTPrYvV1ORhgB5jYsi8dbIKGDsHkEL3P4HeDGM9X+bg93jDK8i53Bv5ici/HfEXfUe2ZYlmi681Adr2AnkzC2r7RkFtR8felOYtO94bnZLVkvgOvYbbaYLLZvejtLLFvx/DKKHwpoeQuNn6kP7tEWewLwPQzMfEIx0nOOXQqiH/prXaLfkw+WsWZnKq9N8kpKYTt/o06lJNz/z5F3NjtuJNk9fpCRlWqnUzYyTKBVi+9IPLGKhboo+YK8z/V7lFWTigIDq69ogWejQl2Cc4IzZVPN+trGQiaWSlbIB31a7RdEbfPriswANV0vMGKprU/WM/AMHOcEUQ oT1pCwLT /QQ1YJXeMs6bvyOz4kfjc5HBIHVW8Y9v7O4sGUsSe7T6jONv5xzkskvfR4MRGIScoJtCLxhhaXCY4Btlzd5k4TweXJcvm6O27cwpcfbRc8IT7E0vbQEVoYXgaAgP8oaaPfKxYNLgvB11GGgA29nHqwOTeRyzWgS4/I8Wc9YY7GhrL76VGJbPLI6B6cAl/Ijvw+exhVZAfF8sj8xUdLyjcJ1v/RZIYYe6RQBiHyO3XJgU+wW6JxjhT5VW1fv5dq1jjxrzjOa8BA2ZeW0u+O/zuXZXxFg8aYE++gmiX85MmlfyPm1T/RDw7BkSZJQTMP18lCRtl+1f9L7UEvodUEkrFWHqTg22+AIznUMy3mS819vlbXhP8RwPp1t/iI/izAIhMASZW 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: Commit 5ff6e2fff88e ("mm/damon/core: fix divide error in damon_nr_accesses_to_accesses_bp()") fixed a bug by adding arguments validation in damon_set_attrs(). Add a unit test for the added validation to ensure the bug cannot occur again. Signed-off-by: SeongJae Park Reviewed-by: Kefeng Wang --- mm/damon/core-test.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/mm/damon/core-test.h b/mm/damon/core-test.h index fae64d32b925..c11210124344 100644 --- a/mm/damon/core-test.h +++ b/mm/damon/core-test.h @@ -318,6 +318,29 @@ static void damon_test_update_monitoring_result(struct kunit *test) KUNIT_EXPECT_EQ(test, r->age, 20); } +static void damon_test_set_attrs(struct kunit *test) +{ + struct damon_ctx ctx; + struct damon_attrs valid_attrs = { + .min_nr_regions = 10, .max_nr_regions = 1000, + .sample_interval = 5000, .aggr_interval = 100000,}; + struct damon_attrs invalid_attrs; + + KUNIT_EXPECT_EQ(test, damon_set_attrs(&ctx, &valid_attrs), 0); + + invalid_attrs = valid_attrs; + invalid_attrs.min_nr_regions = 1; + KUNIT_EXPECT_EQ(test, damon_set_attrs(&ctx, &invalid_attrs), -EINVAL); + + invalid_attrs = valid_attrs; + invalid_attrs.max_nr_regions = 9; + KUNIT_EXPECT_EQ(test, damon_set_attrs(&ctx, &invalid_attrs), -EINVAL); + + invalid_attrs = valid_attrs; + invalid_attrs.aggr_interval = 4999; + KUNIT_EXPECT_EQ(test, damon_set_attrs(&ctx, &invalid_attrs), -EINVAL); +} + static struct kunit_case damon_test_cases[] = { KUNIT_CASE(damon_test_target), KUNIT_CASE(damon_test_regions), @@ -329,6 +352,7 @@ static struct kunit_case damon_test_cases[] = { KUNIT_CASE(damon_test_ops_registration), KUNIT_CASE(damon_test_set_regions), KUNIT_CASE(damon_test_update_monitoring_result), + KUNIT_CASE(damon_test_set_attrs), {}, };