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 154BBC00140 for ; Fri, 12 Aug 2022 12:51:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 41DB28E0002; Fri, 12 Aug 2022 08:51:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3CD558E0001; Fri, 12 Aug 2022 08:51:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 294B68E0002; Fri, 12 Aug 2022 08:51:14 -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 180C88E0001 for ; Fri, 12 Aug 2022 08:51:14 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id DBD9C1619E4 for ; Fri, 12 Aug 2022 12:51:13 +0000 (UTC) X-FDA: 79790926026.08.2CF23A3 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by imf10.hostedemail.com (Postfix) with ESMTP id A0977C018D for ; Fri, 12 Aug 2022 12:51:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660308672; x=1691844672; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=P/fAt24DxFqvPoyPLU5c9Y/VeDiAMJeVyGR8ot4zoAA=; b=Psf7zrgluOLWdHEnnb5yiqZj38aI6TbRiAla7SJKAMn9p/xhfa4G5YSU Dc24OiMDkU8FCxLumKLwygnXddxv7qO1HCGQjMg/SQf7G8H43S0gnBund HiIZP6nE4Wto6DB9C8z/ADzuhNkL6AOar3xBfFOFY+oZxQf18WTwxdEiq izo5afP9sC9Y0iSrU9uGEGu4y1M7ipkl8p+q7AhV5TmOdwTQ+XyjzvwD5 pJVMvudmWgqnMdbpnHgUGFoMczA05lELyy9+Dh/3wvWvveLaLpHUg3tb8 YfExz5tAc8BPT8WJAUpj1i56sqbO6YH+6Zpx/v0TdNCVn8pG72Ll1dZnj g==; X-IronPort-AV: E=McAfee;i="6400,9594,10437"; a="292381076" X-IronPort-AV: E=Sophos;i="5.93,231,1654585200"; d="scan'208";a="292381076" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2022 05:50:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,231,1654585200"; d="scan'208";a="605905926" Received: from lkp-server02.sh.intel.com (HELO 8745164cafc7) ([10.239.97.151]) by orsmga002.jf.intel.com with ESMTP; 12 Aug 2022 05:50:42 -0700 Received: from kbuild by 8745164cafc7 with local (Exim 4.96) (envelope-from ) id 1oMU7d-0000Wk-1z; Fri, 12 Aug 2022 12:50:41 +0000 Date: Fri, 12 Aug 2022 20:50:21 +0800 From: kernel test robot To: xiakaixu1987@gmail.com, sj@kernel.org, akpm@linux-foundation.org Cc: kbuild-all@lists.01.org, damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Kaixu Xia Subject: Re: [PATCH] mm/damon/core: simplify the parameter passing for region split operation Message-ID: <202208122001.69lQAxjD-lkp@intel.com> References: <1660290073-26347-1-git-send-email-kaixuxia@tencent.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1660290073-26347-1-git-send-email-kaixuxia@tencent.com> ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1660308673; a=rsa-sha256; cv=none; b=2RkmST6rn0l7pGTDicb0FCzod2yxRYQc2pt2q5kqtFW/ra41fdJaLso6vt0woNTYivWZNG HvCq4Na891iwdp8o9js+1wQNG4P2bLGZRF0yIczCRb/G5VOUV861aZvww7UcTlPGoUvoem A7wjiDcBKJCLLR39ylV5RaMCMY1rNkg= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=Psf7zrgl; spf=pass (imf10.hostedemail.com: domain of lkp@intel.com designates 134.134.136.24 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1660308673; 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=RxFk8P0Qg9tq5q/r6ReO+l2j2W6aUTLQr8+zm9/SeeM=; b=pAlbPOWy8csJkg3zu4OlJ/9HEiRg3AVb3E144hKtoA3SKq0MJIMRjn/hNgOJWQq0hWN6G/ z7ZM0HsusQ0dRfSPIcdZ+V+vffrzw41KrfPbw7JzpKifbJHw8w5KJOU++uI6HpQsO2lRkq 38tpaZWa05ZsZPlgcWAQjG1EUbGnCVM= X-Rspam-User: X-Stat-Signature: 9j6wcuqgg1znwo97esw9jmiwqyedixx4 X-Rspamd-Queue-Id: A0977C018D Authentication-Results: imf10.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=Psf7zrgl; spf=pass (imf10.hostedemail.com: domain of lkp@intel.com designates 134.134.136.24 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com X-Rspamd-Server: rspam01 X-HE-Tag: 1660308672-35304 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: Hi, Thank you for the patch! Yet something to improve: [auto build test ERROR on akpm-mm/mm-everything] url: https://github.com/intel-lab-lkp/linux/commits/xiakaixu1987-gmail-com/mm-damon-core-simplify-the-parameter-passing-for-region-split-operation/20220812-154316 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220812/202208122001.69lQAxjD-lkp@intel.com/config) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/26b7d93b0f64c71d6d324a4a37d85641b55eaec2 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review xiakaixu1987-gmail-com/mm-damon-core-simplify-the-parameter-passing-for-region-split-operation/20220812-154316 git checkout 26b7d93b0f64c71d6d324a4a37d85641b55eaec2 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from mm/damon/core.c:1218: mm/damon/core-test.h: In function 'damon_test_split_at': >> mm/damon/core-test.h:129:31: error: passing argument 1 of 'damon_split_region_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 129 | damon_split_region_at(c, t, r, 25); | ^ | | | struct damon_ctx * mm/damon/core.c:930:56: note: expected 'struct damon_target *' but argument is of type 'struct damon_ctx *' 930 | static void damon_split_region_at(struct damon_target *t, | ~~~~~~~~~~~~~~~~~~~~~^ In file included from mm/damon/core.c:1218: mm/damon/core-test.h:129:34: error: passing argument 2 of 'damon_split_region_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 129 | damon_split_region_at(c, t, r, 25); | ^ | | | struct damon_target * mm/damon/core.c:931:56: note: expected 'struct damon_region *' but argument is of type 'struct damon_target *' 931 | struct damon_region *r, unsigned long sz_r) | ~~~~~~~~~~~~~~~~~~~~~^ In file included from mm/damon/core.c:1218: mm/damon/core-test.h:129:37: warning: passing argument 3 of 'damon_split_region_at' makes integer from pointer without a cast [-Wint-conversion] 129 | damon_split_region_at(c, t, r, 25); | ^ | | | struct damon_region * mm/damon/core.c:931:73: note: expected 'long unsigned int' but argument is of type 'struct damon_region *' 931 | struct damon_region *r, unsigned long sz_r) | ~~~~~~~~~~~~~~^~~~ In file included from mm/damon/core.c:1218: >> mm/damon/core-test.h:129:9: error: too many arguments to function 'damon_split_region_at' 129 | damon_split_region_at(c, t, r, 25); | ^~~~~~~~~~~~~~~~~~~~~ mm/damon/core.c:930:13: note: declared here 930 | static void damon_split_region_at(struct damon_target *t, | ^~~~~~~~~~~~~~~~~~~~~ In file included from mm/damon/core.c:1218: mm/damon/core-test.h: In function 'damon_test_split_regions_of': >> mm/damon/core-test.h:222:32: error: passing argument 1 of 'damon_split_regions_of' from incompatible pointer type [-Werror=incompatible-pointer-types] 222 | damon_split_regions_of(c, t, 2); | ^ | | | struct damon_ctx * mm/damon/core.c:948:57: note: expected 'struct damon_target *' but argument is of type 'struct damon_ctx *' 948 | static void damon_split_regions_of(struct damon_target *t, int nr_subs) | ~~~~~~~~~~~~~~~~~~~~~^ In file included from mm/damon/core.c:1218: mm/damon/core-test.h:222:35: warning: passing argument 2 of 'damon_split_regions_of' makes integer from pointer without a cast [-Wint-conversion] 222 | damon_split_regions_of(c, t, 2); | ^ | | | struct damon_target * mm/damon/core.c:948:64: note: expected 'int' but argument is of type 'struct damon_target *' 948 | static void damon_split_regions_of(struct damon_target *t, int nr_subs) | ~~~~^~~~~~~ In file included from mm/damon/core.c:1218: >> mm/damon/core-test.h:222:9: error: too many arguments to function 'damon_split_regions_of' 222 | damon_split_regions_of(c, t, 2); | ^~~~~~~~~~~~~~~~~~~~~~ mm/damon/core.c:948:13: note: declared here 948 | static void damon_split_regions_of(struct damon_target *t, int nr_subs) | ^~~~~~~~~~~~~~~~~~~~~~ In file included from mm/damon/core.c:1218: mm/damon/core-test.h:229:32: error: passing argument 1 of 'damon_split_regions_of' from incompatible pointer type [-Werror=incompatible-pointer-types] 229 | damon_split_regions_of(c, t, 4); | ^ | | | struct damon_ctx * mm/damon/core.c:948:57: note: expected 'struct damon_target *' but argument is of type 'struct damon_ctx *' 948 | static void damon_split_regions_of(struct damon_target *t, int nr_subs) | ~~~~~~~~~~~~~~~~~~~~~^ In file included from mm/damon/core.c:1218: mm/damon/core-test.h:229:35: warning: passing argument 2 of 'damon_split_regions_of' makes integer from pointer without a cast [-Wint-conversion] 229 | damon_split_regions_of(c, t, 4); | ^ | | | struct damon_target * mm/damon/core.c:948:64: note: expected 'int' but argument is of type 'struct damon_target *' 948 | static void damon_split_regions_of(struct damon_target *t, int nr_subs) | ~~~~^~~~~~~ In file included from mm/damon/core.c:1218: mm/damon/core-test.h:229:9: error: too many arguments to function 'damon_split_regions_of' 229 | damon_split_regions_of(c, t, 4); | ^~~~~~~~~~~~~~~~~~~~~~ mm/damon/core.c:948:13: note: declared here 948 | static void damon_split_regions_of(struct damon_target *t, int nr_subs) | ^~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/damon_split_region_at +129 mm/damon/core-test.h 17ccae8bb5c928 SeongJae Park 2021-09-07 119 17ccae8bb5c928 SeongJae Park 2021-09-07 120 static void damon_test_split_at(struct kunit *test) 17ccae8bb5c928 SeongJae Park 2021-09-07 121 { 17ccae8bb5c928 SeongJae Park 2021-09-07 122 struct damon_ctx *c = damon_new_ctx(); 17ccae8bb5c928 SeongJae Park 2021-09-07 123 struct damon_target *t; 17ccae8bb5c928 SeongJae Park 2021-09-07 124 struct damon_region *r; 17ccae8bb5c928 SeongJae Park 2021-09-07 125 1971bd630452e9 SeongJae Park 2022-03-22 126 t = damon_new_target(); 17ccae8bb5c928 SeongJae Park 2021-09-07 127 r = damon_new_region(0, 100); 17ccae8bb5c928 SeongJae Park 2021-09-07 128 damon_add_region(r, t); 17ccae8bb5c928 SeongJae Park 2021-09-07 @129 damon_split_region_at(c, t, r, 25); 17ccae8bb5c928 SeongJae Park 2021-09-07 130 KUNIT_EXPECT_EQ(test, r->ar.start, 0ul); 17ccae8bb5c928 SeongJae Park 2021-09-07 131 KUNIT_EXPECT_EQ(test, r->ar.end, 25ul); 17ccae8bb5c928 SeongJae Park 2021-09-07 132 17ccae8bb5c928 SeongJae Park 2021-09-07 133 r = damon_next_region(r); 17ccae8bb5c928 SeongJae Park 2021-09-07 134 KUNIT_EXPECT_EQ(test, r->ar.start, 25ul); 17ccae8bb5c928 SeongJae Park 2021-09-07 135 KUNIT_EXPECT_EQ(test, r->ar.end, 100ul); 17ccae8bb5c928 SeongJae Park 2021-09-07 136 17ccae8bb5c928 SeongJae Park 2021-09-07 137 damon_free_target(t); 17ccae8bb5c928 SeongJae Park 2021-09-07 138 damon_destroy_ctx(c); 17ccae8bb5c928 SeongJae Park 2021-09-07 139 } 17ccae8bb5c928 SeongJae Park 2021-09-07 140 17ccae8bb5c928 SeongJae Park 2021-09-07 141 static void damon_test_merge_two(struct kunit *test) 17ccae8bb5c928 SeongJae Park 2021-09-07 142 { 17ccae8bb5c928 SeongJae Park 2021-09-07 143 struct damon_target *t; 17ccae8bb5c928 SeongJae Park 2021-09-07 144 struct damon_region *r, *r2, *r3; 17ccae8bb5c928 SeongJae Park 2021-09-07 145 int i; 17ccae8bb5c928 SeongJae Park 2021-09-07 146 1971bd630452e9 SeongJae Park 2022-03-22 147 t = damon_new_target(); 17ccae8bb5c928 SeongJae Park 2021-09-07 148 r = damon_new_region(0, 100); 17ccae8bb5c928 SeongJae Park 2021-09-07 149 r->nr_accesses = 10; 17ccae8bb5c928 SeongJae Park 2021-09-07 150 damon_add_region(r, t); 17ccae8bb5c928 SeongJae Park 2021-09-07 151 r2 = damon_new_region(100, 300); 17ccae8bb5c928 SeongJae Park 2021-09-07 152 r2->nr_accesses = 20; 17ccae8bb5c928 SeongJae Park 2021-09-07 153 damon_add_region(r2, t); 17ccae8bb5c928 SeongJae Park 2021-09-07 154 17ccae8bb5c928 SeongJae Park 2021-09-07 155 damon_merge_two_regions(t, r, r2); 17ccae8bb5c928 SeongJae Park 2021-09-07 156 KUNIT_EXPECT_EQ(test, r->ar.start, 0ul); 17ccae8bb5c928 SeongJae Park 2021-09-07 157 KUNIT_EXPECT_EQ(test, r->ar.end, 300ul); 17ccae8bb5c928 SeongJae Park 2021-09-07 158 KUNIT_EXPECT_EQ(test, r->nr_accesses, 16u); 17ccae8bb5c928 SeongJae Park 2021-09-07 159 17ccae8bb5c928 SeongJae Park 2021-09-07 160 i = 0; 17ccae8bb5c928 SeongJae Park 2021-09-07 161 damon_for_each_region(r3, t) { 17ccae8bb5c928 SeongJae Park 2021-09-07 162 KUNIT_EXPECT_PTR_EQ(test, r, r3); 17ccae8bb5c928 SeongJae Park 2021-09-07 163 i++; 17ccae8bb5c928 SeongJae Park 2021-09-07 164 } 17ccae8bb5c928 SeongJae Park 2021-09-07 165 KUNIT_EXPECT_EQ(test, i, 1); 17ccae8bb5c928 SeongJae Park 2021-09-07 166 17ccae8bb5c928 SeongJae Park 2021-09-07 167 damon_free_target(t); 17ccae8bb5c928 SeongJae Park 2021-09-07 168 } 17ccae8bb5c928 SeongJae Park 2021-09-07 169 17ccae8bb5c928 SeongJae Park 2021-09-07 170 static struct damon_region *__nth_region_of(struct damon_target *t, int idx) 17ccae8bb5c928 SeongJae Park 2021-09-07 171 { 17ccae8bb5c928 SeongJae Park 2021-09-07 172 struct damon_region *r; 17ccae8bb5c928 SeongJae Park 2021-09-07 173 unsigned int i = 0; 17ccae8bb5c928 SeongJae Park 2021-09-07 174 17ccae8bb5c928 SeongJae Park 2021-09-07 175 damon_for_each_region(r, t) { 17ccae8bb5c928 SeongJae Park 2021-09-07 176 if (i++ == idx) 17ccae8bb5c928 SeongJae Park 2021-09-07 177 return r; 17ccae8bb5c928 SeongJae Park 2021-09-07 178 } 17ccae8bb5c928 SeongJae Park 2021-09-07 179 17ccae8bb5c928 SeongJae Park 2021-09-07 180 return NULL; 17ccae8bb5c928 SeongJae Park 2021-09-07 181 } 17ccae8bb5c928 SeongJae Park 2021-09-07 182 17ccae8bb5c928 SeongJae Park 2021-09-07 183 static void damon_test_merge_regions_of(struct kunit *test) 17ccae8bb5c928 SeongJae Park 2021-09-07 184 { 17ccae8bb5c928 SeongJae Park 2021-09-07 185 struct damon_target *t; 17ccae8bb5c928 SeongJae Park 2021-09-07 186 struct damon_region *r; 17ccae8bb5c928 SeongJae Park 2021-09-07 187 unsigned long sa[] = {0, 100, 114, 122, 130, 156, 170, 184}; 17ccae8bb5c928 SeongJae Park 2021-09-07 188 unsigned long ea[] = {100, 112, 122, 130, 156, 170, 184, 230}; 17ccae8bb5c928 SeongJae Park 2021-09-07 189 unsigned int nrs[] = {0, 0, 10, 10, 20, 30, 1, 2}; 17ccae8bb5c928 SeongJae Park 2021-09-07 190 17ccae8bb5c928 SeongJae Park 2021-09-07 191 unsigned long saddrs[] = {0, 114, 130, 156, 170}; 17ccae8bb5c928 SeongJae Park 2021-09-07 192 unsigned long eaddrs[] = {112, 130, 156, 170, 230}; 17ccae8bb5c928 SeongJae Park 2021-09-07 193 int i; 17ccae8bb5c928 SeongJae Park 2021-09-07 194 1971bd630452e9 SeongJae Park 2022-03-22 195 t = damon_new_target(); 17ccae8bb5c928 SeongJae Park 2021-09-07 196 for (i = 0; i < ARRAY_SIZE(sa); i++) { 17ccae8bb5c928 SeongJae Park 2021-09-07 197 r = damon_new_region(sa[i], ea[i]); 17ccae8bb5c928 SeongJae Park 2021-09-07 198 r->nr_accesses = nrs[i]; 17ccae8bb5c928 SeongJae Park 2021-09-07 199 damon_add_region(r, t); 17ccae8bb5c928 SeongJae Park 2021-09-07 200 } 17ccae8bb5c928 SeongJae Park 2021-09-07 201 17ccae8bb5c928 SeongJae Park 2021-09-07 202 damon_merge_regions_of(t, 9, 9999); 17ccae8bb5c928 SeongJae Park 2021-09-07 203 /* 0-112, 114-130, 130-156, 156-170 */ 17ccae8bb5c928 SeongJae Park 2021-09-07 204 KUNIT_EXPECT_EQ(test, damon_nr_regions(t), 5u); 17ccae8bb5c928 SeongJae Park 2021-09-07 205 for (i = 0; i < 5; i++) { 17ccae8bb5c928 SeongJae Park 2021-09-07 206 r = __nth_region_of(t, i); 17ccae8bb5c928 SeongJae Park 2021-09-07 207 KUNIT_EXPECT_EQ(test, r->ar.start, saddrs[i]); 17ccae8bb5c928 SeongJae Park 2021-09-07 208 KUNIT_EXPECT_EQ(test, r->ar.end, eaddrs[i]); 17ccae8bb5c928 SeongJae Park 2021-09-07 209 } 17ccae8bb5c928 SeongJae Park 2021-09-07 210 damon_free_target(t); 17ccae8bb5c928 SeongJae Park 2021-09-07 211 } 17ccae8bb5c928 SeongJae Park 2021-09-07 212 17ccae8bb5c928 SeongJae Park 2021-09-07 213 static void damon_test_split_regions_of(struct kunit *test) 17ccae8bb5c928 SeongJae Park 2021-09-07 214 { 17ccae8bb5c928 SeongJae Park 2021-09-07 215 struct damon_ctx *c = damon_new_ctx(); 17ccae8bb5c928 SeongJae Park 2021-09-07 216 struct damon_target *t; 17ccae8bb5c928 SeongJae Park 2021-09-07 217 struct damon_region *r; 17ccae8bb5c928 SeongJae Park 2021-09-07 218 1971bd630452e9 SeongJae Park 2022-03-22 219 t = damon_new_target(); 17ccae8bb5c928 SeongJae Park 2021-09-07 220 r = damon_new_region(0, 22); 17ccae8bb5c928 SeongJae Park 2021-09-07 221 damon_add_region(r, t); 17ccae8bb5c928 SeongJae Park 2021-09-07 @222 damon_split_regions_of(c, t, 2); 2e014660b3e4b7 SeongJae Park 2021-10-28 223 KUNIT_EXPECT_LE(test, damon_nr_regions(t), 2u); 17ccae8bb5c928 SeongJae Park 2021-09-07 224 damon_free_target(t); 17ccae8bb5c928 SeongJae Park 2021-09-07 225 1971bd630452e9 SeongJae Park 2022-03-22 226 t = damon_new_target(); 17ccae8bb5c928 SeongJae Park 2021-09-07 227 r = damon_new_region(0, 220); 17ccae8bb5c928 SeongJae Park 2021-09-07 228 damon_add_region(r, t); 17ccae8bb5c928 SeongJae Park 2021-09-07 229 damon_split_regions_of(c, t, 4); 2e014660b3e4b7 SeongJae Park 2021-10-28 230 KUNIT_EXPECT_LE(test, damon_nr_regions(t), 4u); 17ccae8bb5c928 SeongJae Park 2021-09-07 231 damon_free_target(t); 17ccae8bb5c928 SeongJae Park 2021-09-07 232 damon_destroy_ctx(c); 17ccae8bb5c928 SeongJae Park 2021-09-07 233 } 17ccae8bb5c928 SeongJae Park 2021-09-07 234 -- 0-DAY CI Kernel Test Service https://01.org/lkp