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 C8780C433F5 for ; Mon, 28 Feb 2022 14:47:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4F35B8D0003; Mon, 28 Feb 2022 09:47:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4A3AE8D0001; Mon, 28 Feb 2022 09:47:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3472A8D0003; Mon, 28 Feb 2022 09:47:19 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0105.hostedemail.com [216.40.44.105]) by kanga.kvack.org (Postfix) with ESMTP id 284638D0001 for ; Mon, 28 Feb 2022 09:47:19 -0500 (EST) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id DBD8C181C49DF for ; Mon, 28 Feb 2022 14:47:18 +0000 (UTC) X-FDA: 79192466556.26.42D0888 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) by imf24.hostedemail.com (Postfix) with ESMTP id 5A9BC180005 for ; Mon, 28 Feb 2022 14:47:18 +0000 (UTC) Received: by mail-lf1-f44.google.com with SMTP id b11so21733263lfb.12 for ; Mon, 28 Feb 2022 06:47:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GLLwg9Fhnlb38L2tvLtaEuKjOJI6ov8ETtoYyG5ZRfY=; b=Z/+pS6GgFR7zm4jLJc10kJpgAMBJgbwi0ldF1E1IIRJLou2mJu28USb16L76C1UteM spNeQalSMHsWeYetdWrCMI9Q+1K2XgVLaiOHoGj3WtzwUcZXL5i/iCBH48qtRQ5cYRux 8jOx7z9LClaNjYVG7m1Ix4x47fYSB6etFDPDRv/zx1Ec1gj6h9tlUuQI3hTeoU1LBPue F3u2JPl7/L/4dMi+r9s7MVTDY7Dp/z26jKG+MmyHnmNTubTpEYSkpjhRXowZY4veAH07 2/h+x+ZuTMONbwwKvlbKkFVAWbASwBPTjLJt6HscsT9rGfpvPL4CuGKKeC0CsKWkhN61 TUVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GLLwg9Fhnlb38L2tvLtaEuKjOJI6ov8ETtoYyG5ZRfY=; b=Gr8wlAM2WvUUGism6JoVVoqdjIuivZPi8jiUSTcON2qU1+8seSmtHP8AsspNYDQHgc 8WP0KQafhVnnglbMjKrLdux33esLOE1o711CPI6qp8EfowR+1kcAp2iQ+3d1aQ6MRX7S zxyHBb/gccwCAo/1JW4NCz7qj/K1iCm5hxpC/fD5v7IZW+YjPHnjiMBdUIEGS/f7ijxM 6lWA6fQzMT6xgY6DgESd0QAYBqOu3MTsQBZJJQ4SkJf/LKYmPep3kSmUwdW8Wxb2Gcip pJ1lvmPdzkFjjhDV9ePxunrU7JbqSx/MNKXn3+NOtQFmOlQzXhTB02CyPsWDkBoD63w4 1SZg== X-Gm-Message-State: AOAM5335Mk5d9JRnk8QX14bra4rBrOnXGG3CFqgtHq3wRus0COiwntGV jmyoFxUC94NkhGp93G6yksPGLtKdyzU= X-Google-Smtp-Source: ABdhPJx5rOLrb4DxrJhKqGG5ymfCovJvN4eC3oSniQJOAkJUanT5YKcq6AmbAdTYBtfZJHBBB2SlPg== X-Received: by 2002:ac2:549a:0:b0:443:f15d:e582 with SMTP id t26-20020ac2549a000000b00443f15de582mr13323295lfk.90.1646059636694; Mon, 28 Feb 2022 06:47:16 -0800 (PST) Received: from elysium.toya.net.pl (staticline-31-183-165-244.toya.net.pl. [31.183.165.244]) by smtp.gmail.com with ESMTPSA id r14-20020ac252ae000000b00443f3cbc03asm993996lfm.6.2022.02.28.06.47.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Feb 2022 06:47:16 -0800 (PST) From: Karolina Drobnik To: linux-mm@kvack.org Cc: rppt@kernel.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Karolina Drobnik Subject: [PATCH 1/9] memblock tests: Split up reset_memblock function Date: Mon, 28 Feb 2022 15:46:43 +0100 Message-Id: <5cc1ba9a0ade922dbf4ba450165b81a9ed17d4a9.1646055639.git.karolinadrobnik@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 5A9BC180005 X-Stat-Signature: 8wujbximaxsixtxu8bqx3gusqpchubdf Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="Z/+pS6Gg"; spf=pass (imf24.hostedemail.com: domain of karolinadrobnik@gmail.com designates 209.85.167.44 as permitted sender) smtp.mailfrom=karolinadrobnik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-HE-Tag: 1646059638-728033 Content-Transfer-Encoding: quoted-printable 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: All memblock data structure fields are reset in one function. In some test cases, it's preferred to reset memory region arrays without modifying other values like allocation direction flag. Extract two functions from reset_memblock, so it's possible to reset different parts of memblock: - reset_memblock_regions - reset region arrays and their counters - reset_memblock_attributes - set other fields to their default values Update checks in basic_api.c to use new definitions. Remove reset_memblock call from memblock_initialization_check, so the true initial values are tested. Signed-off-by: Karolina Drobnik --- tools/testing/memblock/tests/basic_api.c | 48 ++++++++++++------------ tools/testing/memblock/tests/common.c | 14 ++++--- tools/testing/memblock/tests/common.h | 3 +- 3 files changed, 33 insertions(+), 32 deletions(-) diff --git a/tools/testing/memblock/tests/basic_api.c b/tools/testing/mem= block/tests/basic_api.c index fbb989f6ddbf..d5035a3dcce8 100644 --- a/tools/testing/memblock/tests/basic_api.c +++ b/tools/testing/memblock/tests/basic_api.c @@ -8,8 +8,6 @@ static int memblock_initialization_check(void) { - reset_memblock(); - assert(memblock.memory.regions); assert(memblock.memory.cnt =3D=3D 1); assert(memblock.memory.max =3D=3D EXPECTED_MEMBLOCK_REGIONS); @@ -43,7 +41,7 @@ static int memblock_add_simple_check(void) .size =3D SZ_4M }; - reset_memblock(); + reset_memblock_regions(); memblock_add(r.base, r.size); assert(rgn->base =3D=3D r.base); @@ -72,7 +70,7 @@ static int memblock_add_node_simple_check(void) .size =3D SZ_16M }; - reset_memblock(); + reset_memblock_regions(); memblock_add_node(r.base, r.size, 1, MEMBLOCK_HOTPLUG); assert(rgn->base =3D=3D r.base); @@ -110,7 +108,7 @@ static int memblock_add_disjoint_check(void) .size =3D SZ_8K }; - reset_memblock(); + reset_memblock_regions(); memblock_add(r1.base, r1.size); memblock_add(r2.base, r2.size); @@ -151,7 +149,7 @@ static int memblock_add_overlap_top_check(void) total_size =3D (r1.base - r2.base) + r1.size; - reset_memblock(); + reset_memblock_regions(); memblock_add(r1.base, r1.size); memblock_add(r2.base, r2.size); @@ -190,7 +188,7 @@ static int memblock_add_overlap_bottom_check(void) total_size =3D (r2.base - r1.base) + r2.size; - reset_memblock(); + reset_memblock_regions(); memblock_add(r1.base, r1.size); memblock_add(r2.base, r2.size); @@ -225,7 +223,7 @@ static int memblock_add_within_check(void) .size =3D SZ_1M }; - reset_memblock(); + reset_memblock_regions(); memblock_add(r1.base, r1.size); memblock_add(r2.base, r2.size); @@ -249,7 +247,7 @@ static int memblock_add_twice_check(void) .size =3D SZ_2M }; - reset_memblock(); + reset_memblock_regions(); memblock_add(r.base, r.size); memblock_add(r.base, r.size); @@ -290,7 +288,7 @@ static int memblock_reserve_simple_check(void) .size =3D SZ_128M }; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r.base, r.size); assert(rgn->base =3D=3D r.base); @@ -321,7 +319,7 @@ static int memblock_reserve_disjoint_check(void) .size =3D SZ_512M }; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r1.base, r1.size); memblock_reserve(r2.base, r2.size); @@ -364,7 +362,7 @@ static int memblock_reserve_overlap_top_check(void) total_size =3D (r1.base - r2.base) + r1.size; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r1.base, r1.size); memblock_reserve(r2.base, r2.size); @@ -404,7 +402,7 @@ static int memblock_reserve_overlap_bottom_check(void= ) total_size =3D (r2.base - r1.base) + r2.size; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r1.base, r1.size); memblock_reserve(r2.base, r2.size); @@ -440,7 +438,7 @@ static int memblock_reserve_within_check(void) .size =3D SZ_64K }; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r1.base, r1.size); memblock_reserve(r2.base, r2.size); @@ -465,7 +463,7 @@ static int memblock_reserve_twice_check(void) .size =3D SZ_2M }; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r.base, r.size); memblock_reserve(r.base, r.size); @@ -511,7 +509,7 @@ static int memblock_remove_simple_check(void) .size =3D SZ_4M }; - reset_memblock(); + reset_memblock_regions(); memblock_add(r1.base, r1.size); memblock_add(r2.base, r2.size); memblock_remove(r1.base, r1.size); @@ -545,7 +543,7 @@ static int memblock_remove_absent_check(void) .size =3D SZ_1G }; - reset_memblock(); + reset_memblock_regions(); memblock_add(r1.base, r1.size); memblock_remove(r2.base, r2.size); @@ -585,7 +583,7 @@ static int memblock_remove_overlap_top_check(void) r2_end =3D r2.base + r2.size; total_size =3D r1_end - r2_end; - reset_memblock(); + reset_memblock_regions(); memblock_add(r1.base, r1.size); memblock_remove(r2.base, r2.size); @@ -623,7 +621,7 @@ static int memblock_remove_overlap_bottom_check(void) total_size =3D r2.base - r1.base; - reset_memblock(); + reset_memblock_regions(); memblock_add(r1.base, r1.size); memblock_remove(r2.base, r2.size); @@ -665,7 +663,7 @@ static int memblock_remove_within_check(void) r2_size =3D (r1.base + r1.size) - (r2.base + r2.size); total_size =3D r1_size + r2_size; - reset_memblock(); + reset_memblock_regions(); memblock_add(r1.base, r1.size); memblock_remove(r2.base, r2.size); @@ -715,7 +713,7 @@ static int memblock_free_simple_check(void) .size =3D SZ_1M }; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r1.base, r1.size); memblock_reserve(r2.base, r2.size); memblock_free((void *)r1.base, r1.size); @@ -749,7 +747,7 @@ static int memblock_free_absent_check(void) .size =3D SZ_128M }; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r1.base, r1.size); memblock_free((void *)r2.base, r2.size); @@ -787,7 +785,7 @@ static int memblock_free_overlap_top_check(void) total_size =3D (r1.size + r1.base) - (r2.base + r2.size); - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r1.base, r1.size); memblock_free((void *)r2.base, r2.size); @@ -824,7 +822,7 @@ static int memblock_free_overlap_bottom_check(void) total_size =3D r2.base - r1.base; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r1.base, r1.size); memblock_free((void *)r2.base, r2.size); @@ -867,7 +865,7 @@ static int memblock_free_within_check(void) r2_size =3D (r1.base + r1.size) - (r2.base + r2.size); total_size =3D r1_size + r2_size; - reset_memblock(); + reset_memblock_regions(); memblock_reserve(r1.base, r1.size); memblock_free((void *)r2.base, r2.size); diff --git a/tools/testing/memblock/tests/common.c b/tools/testing/memblo= ck/tests/common.c index 03de6eab0c3c..dd7e87c589fe 100644 --- a/tools/testing/memblock/tests/common.c +++ b/tools/testing/memblock/tests/common.c @@ -5,23 +5,25 @@ #define INIT_MEMBLOCK_REGIONS 128 #define INIT_MEMBLOCK_RESERVED_REGIONS INIT_MEMBLOCK_REGIONS -void reset_memblock(void) +void reset_memblock_regions(void) { memset(memblock.memory.regions, 0, memblock.memory.cnt * sizeof(struct memblock_region)); - memset(memblock.reserved.regions, 0, - memblock.reserved.cnt * sizeof(struct memblock_region)); - memblock.memory.cnt =3D 1; memblock.memory.max =3D INIT_MEMBLOCK_REGIONS; - memblock.memory.name =3D "memory"; memblock.memory.total_size =3D 0; + memset(memblock.reserved.regions, 0, + memblock.reserved.cnt * sizeof(struct memblock_region)); memblock.reserved.cnt =3D 1; memblock.reserved.max =3D INIT_MEMBLOCK_RESERVED_REGIONS; - memblock.reserved.name =3D "reserved"; memblock.reserved.total_size =3D 0; +} +void reset_memblock_attributes(void) +{ + memblock.memory.name =3D "memory"; + memblock.reserved.name =3D "reserved"; memblock.bottom_up =3D false; memblock.current_limit =3D MEMBLOCK_ALLOC_ANYWHERE; } diff --git a/tools/testing/memblock/tests/common.h b/tools/testing/memblo= ck/tests/common.h index 48efc4270ea1..b864c64fb60f 100644 --- a/tools/testing/memblock/tests/common.h +++ b/tools/testing/memblock/tests/common.h @@ -10,6 +10,7 @@ struct region { phys_addr_t size; }; -void reset_memblock(void); +void reset_memblock_regions(void); +void reset_memblock_attributes(void); #endif -- 2.30.2