From patchwork Tue May 7 07:58:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13656387 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 0142FC41513 for ; Tue, 7 May 2024 07:59:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 422FB6B0088; Tue, 7 May 2024 03:59:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3D3186B0089; Tue, 7 May 2024 03:59:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 29A9C6B008A; Tue, 7 May 2024 03:59:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 060426B0088 for ; Tue, 7 May 2024 03:59:11 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id A9206A08EF for ; Tue, 7 May 2024 07:59:10 +0000 (UTC) X-FDA: 82090849260.01.E77D8D9 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) by imf18.hostedemail.com (Postfix) with ESMTP id C4CEE1C000C for ; Tue, 7 May 2024 07:59:08 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SakmtKIt; spf=pass (imf18.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715068748; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=gTTLHYA9f4wekWMEXM6x+5GuOxsj2dEHNGTJhgkSO0Q=; b=OCxpjdf1EcUERSUZtteAK9LfI6eTIKZo9oeetbDgrT0XVQFq4i+O8TZ08gj9mj1ZIxpq// Fub2DO+CGzC2maUf9kk6CslIg5LokQKA8/z9lz517o2P9SK8PwSP3sT/kAdzTx30AoRyx8 LRmMWVB/7yIjvdB56cPS52mPFeDgiyg= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SakmtKIt; spf=pass (imf18.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715068748; a=rsa-sha256; cv=none; b=Ed/6HUv5XD1LwjkFBolcV0Ip9UBvlrvEmXIKFCapTgc60CmuyAS3jlXke/+fuVgRx2rgJD MZCAAB7O6PVCaYOc2UuQdG2qcl+VtV3rLed0pOSfVzyYguLoAGMBjBBjAo3n1RHYPguyqT YfPw+cjuEKQKk0DYAgv/oIxe1/q4LwI= Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-a59b097b202so485841466b.0 for ; Tue, 07 May 2024 00:59:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715068747; x=1715673547; darn=kvack.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=gTTLHYA9f4wekWMEXM6x+5GuOxsj2dEHNGTJhgkSO0Q=; b=SakmtKIthsHS4VjyIO/Itejebjt8Qt1HipIgXj0KqQDYj8QCOdpw2iFhkyWtC/kN0j 73iQ9AagFKL2FF+jPC9CNBe9ven6IIi0MHn82qNj4V4wnBC6Kj10BFd3wsG0Em9w5UFX vT87W48lT1JhC6gme/6i6TpM8WhxA4m+rSTYv1J+49safbh/WQ5MQBSVow2jY1kbfeUH 3vngdJCgq0qfseipQHR4Bj7h7xbMgtY/WKnNl/I4AZ9ljkuk0nM8gxzXWkkaWKHkn62M cQGnaZrtyhELSbPXaqZRJQjjvgnu45Vei0K7/QTamdl5dPa2oNCKO5Jpla4zWAbkklR6 u3+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715068747; x=1715673547; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gTTLHYA9f4wekWMEXM6x+5GuOxsj2dEHNGTJhgkSO0Q=; b=VbNEPjXCtS5wLI+rGSmkM++8SZAtHviO6qaXF1rqqtowAIJd6reLZsNFlZTZOaC9xH VB54koAisPNu9KNY9C/6z7vUZRlpdfbSe1LKlnuBB6af1PBwkTWwJtTBdMj6HPUINKJ0 JfCwHGkYgTw2Iak1KwPDudDd2LNR490An0w0YBPItLUIfKHob6EuOvbX7QmwITMeGif+ 2LWKs3qMO1kOypFS9Y5oCzClTx6eidYpYg4n/4jO/o9YhP4xmPAQ1E3ngoUpmx2+sbQd e8wYLebb7ThFt30norGKz0myFu4cyJV4WGr2ggkQxEIsVAFJE3wpNBtEuSKQenygv79o ARig== X-Gm-Message-State: AOJu0Yy6r+F0zklHxvQPURUZxWo9zVjPBZzOnzg8PqylrNPsJ86rLsT7 AZ6+RyuTz4PphaQ1vcczghthitjmWuvfkdD/qO92FiK8gn2dYUbR X-Google-Smtp-Source: AGHT+IFUK+nzcVHetXzXFpLUtdozo0jxKeEvFyQ3DXIpmhVN1QjIrfxlbXsIZCHX4vv+ZZwEEtoJRg== X-Received: by 2002:a17:906:5907:b0:a59:b543:c9f9 with SMTP id h7-20020a170906590700b00a59b543c9f9mr5050672ejq.7.1715068747358; Tue, 07 May 2024 00:59:07 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id wp20-20020a170907061400b00a59c5301bc7sm2746232ejb.61.2024.05.07.00.59.06 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 May 2024 00:59:06 -0700 (PDT) From: Wei Yang To: rppt@kernel.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Wei Yang Subject: [Patch v3 1/7] memblock tests: add memblock_reserve_all_locations_check() Date: Tue, 7 May 2024 07:58:27 +0000 Message-Id: <20240507075833.6346-2-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20240507075833.6346-1-richard.weiyang@gmail.com> References: <20240507075833.6346-1-richard.weiyang@gmail.com> X-Rspamd-Queue-Id: C4CEE1C000C X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 3zrq5a6tpxaf5imrzhfkbdmoe1feupga X-HE-Tag: 1715068748-571678 X-HE-Meta: U2FsdGVkX19KYMPkptkCrpzWUFOGhjINuA/JtwuVlUFAqfSvHA9gwXTYi9CTU94gHfjUyxbL2gEdgE9742UulWR4wa/969q8H/vZn/SHUs/AjzqxZ5h9MoQP/xs6db80zd/Io8bYzO/ayWI/AYn3Mh1F/GzU9/m25EuGYiC3piYJVlnyl8Fcq1GGwTk5gWqE+RQSLsON6ArPfgwM+OasTI+fhu7nGd8fr98SPqrJA11JrbtSny0qV3qQzPwKRoIzCFQfPDSIIs25Y9jUjW0e2AYx6+d4szwcN3k1Y6m6UTDn8KDe+FyOSuJ2dAuuEXEXLRRoFQwRNHhIAcwPud48Lo/vVudp2CvBJh7/DDB4iAyvvtWla9j5k5xipDSKQirEGIIBkeTqFKP6/eMlSOi5XWAeROnEOP7ddRScJ65p1PN4WezcF1wUM0OgLNDO8NL+IzRc4XnIDSXQak9PY7sanHWeIQMQL0BL3Y0xmyTlag8s3LCRI9mMmz/vKhPBCGEryP1D1Adm/ebu0Y5Rbc+jUzNd+VafeQdtJO8cyON6uFQQKibv20vNj2upHO1i6AuYTW2I1IHojSUBH9kbYfd7oYq+zqgWmY6RSkqHpz+XqfHH9ZjJLSYqqGlSEhsx5DxSL3lGUVgWULuEPYClr00JdAietCojpYxXXwJJsVXZow+Z3qdXewEktIw3X4sAmQUP6G9VYXYBxBv/7vjIRllXgCIUPP9WFsOuCogilNWEAdHorOWTCrVtz/4efh7y18pyRGg0BrUIKNHY6riZ6l+kINrK9DIb0fXrLhU3/35jF6r+KJcB4JllROXafVXFK2DAdJ+s3VhhQHvOKVHbnjE1uB0xzKRImbF5XyU1dwQi83evaC79lbx18e/5K+OhY14EmXS15a6Yg2rhUQW52QzR2x+Oe9sTHelktnpZRtGQYDnRcFsDTnsge45f5MhsE8yHdCqic3cDz2OZueut6Ke QVG0LR2P OMOn/M1MgwfprQFO+Skq6pIWvDprau5oaxwtg7ykYrdSSpCjbA7z3IYCucGssHoyltr8ZaFyxQoVy0BasIMTYNvUXJLOw+8sMoiqvda+SSJePTRoIF0jp/j0Fumq104NH1kR42YxKB/zyD7W4NiZPwLHr5fZOziKqaZ+JN2oT41fepeASZirbao1EpGsTcQVzE5Qpu1Po4ngtW7Y/m7OTe4JO0V1UHJmDeFLwSQrAuh3dXV3h0A6diFtGJPZjjVd1lhnPG3hqNymv3EkC1Zua5fG2rWY2YJTmX3GwnjhRdIdgdjLulPZkSEmR8Fjgk+V+auiiWrkuldLPLmoeQNP7eJlfdx925bu7UhRZTxOz/LP1762SU2b8/vyLQThHF8b2Q+8GzAqBe9+sWLYKrVk1ZqsMsvx7YMMaBTjf8kwKDvMnyUSmfIjm9dDo/ZcDnZhDf+8Sz5jbnPhXE/MPay7wi25/GN2/Eq04u7OJXONkJILtMQk1ECAyz6XILGjmBHQrE6vuIbCo57uQAS2GNGglGmafaZ0HSvBh2YrXP0VRKE0h7WM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000057, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Instead of adding 129th memory block at the last position, let's try all possible position. Signed-off-by: Wei Yang --- tools/testing/memblock/tests/basic_api.c | 107 +++++++++++++++++++++++ 1 file changed, 107 insertions(+) diff --git a/tools/testing/memblock/tests/basic_api.c b/tools/testing/memblock/tests/basic_api.c index f317fe691fc4..bd3ebbf6b697 100644 --- a/tools/testing/memblock/tests/basic_api.c +++ b/tools/testing/memblock/tests/basic_api.c @@ -982,6 +982,112 @@ static int memblock_reserve_many_check(void) return 0; } + +/* + * A test that trying to reserve the 129th memory block at all locations. + * Expect to trigger memblock_double_array() to double the + * memblock.memory.max, find a new valid memory as reserved.regions. + * + * 0 1 2 128 + * +-------+ +-------+ +-------+ +-------+ + * | 32K | | 32K | | 32K | ... | 32K | + * +-------+-------+-------+-------+-------+ +-------+ + * |<-32K->| |<-32K->| + * + */ +/* Keep the gap so these memory region will not be merged. */ +#define MEMORY_BASE(idx) (SZ_128K + (MEM_SIZE * 2) * (idx)) +static int memblock_reserve_all_locations_check(void) +{ + int i, skip; + void *orig_region; + struct region r = { + .base = SZ_16K, + .size = SZ_16K, + }; + phys_addr_t new_reserved_regions_size; + + PREFIX_PUSH(); + + /* Reserve the 129th memory block for all possible positions*/ + for (skip = 0; skip < INIT_MEMBLOCK_REGIONS + 1; skip++) { + reset_memblock_regions(); + memblock_allow_resize(); + + /* Add a valid memory region used by double_array(). */ + dummy_physical_memory_init(); + memblock_add(dummy_physical_memory_base(), MEM_SIZE); + + for (i = 0; i < INIT_MEMBLOCK_REGIONS + 1; i++) { + if (i == skip) + continue; + + /* Reserve some fakes memory region to fulfill the memblock. */ + memblock_reserve(MEMORY_BASE(i), MEM_SIZE); + + if (i < skip) { + ASSERT_EQ(memblock.reserved.cnt, i + 1); + ASSERT_EQ(memblock.reserved.total_size, (i + 1) * MEM_SIZE); + } else { + ASSERT_EQ(memblock.reserved.cnt, i); + ASSERT_EQ(memblock.reserved.total_size, i * MEM_SIZE); + } + } + + orig_region = memblock.reserved.regions; + + /* This reserve the 129 memory_region, and makes it double array. */ + memblock_reserve(MEMORY_BASE(skip), MEM_SIZE); + + /* + * This is the memory region size used by the doubled reserved.regions, + * and it has been reserved due to it has been used. The size is used to + * calculate the total_size that the memblock.reserved have now. + */ + new_reserved_regions_size = PAGE_ALIGN((INIT_MEMBLOCK_REGIONS * 2) * + sizeof(struct memblock_region)); + /* + * The double_array() will find a free memory region as the new + * reserved.regions, and the used memory region will be reserved, so + * there will be one more region exist in the reserved memblock. And the + * one more reserved region's size is new_reserved_regions_size. + */ + ASSERT_EQ(memblock.reserved.cnt, INIT_MEMBLOCK_REGIONS + 2); + ASSERT_EQ(memblock.reserved.total_size, (INIT_MEMBLOCK_REGIONS + 1) * MEM_SIZE + + new_reserved_regions_size); + ASSERT_EQ(memblock.reserved.max, INIT_MEMBLOCK_REGIONS * 2); + + /* + * Now memblock_double_array() works fine. Let's check after the + * double_array(), the memblock_reserve() still works as normal. + */ + memblock_reserve(r.base, r.size); + ASSERT_EQ(memblock.reserved.regions[0].base, r.base); + ASSERT_EQ(memblock.reserved.regions[0].size, r.size); + + ASSERT_EQ(memblock.reserved.cnt, INIT_MEMBLOCK_REGIONS + 3); + ASSERT_EQ(memblock.reserved.total_size, (INIT_MEMBLOCK_REGIONS + 1) * MEM_SIZE + + new_reserved_regions_size + + r.size); + ASSERT_EQ(memblock.reserved.max, INIT_MEMBLOCK_REGIONS * 2); + + dummy_physical_memory_cleanup(); + + /* + * The current reserved.regions is occupying a range of memory that + * allocated from dummy_physical_memory_init(). After free the memory, + * we must not use it. So restore the origin memory region to make sure + * the tests can run as normal and not affected by the double array. + */ + memblock.reserved.regions = orig_region; + memblock.reserved.cnt = INIT_MEMBLOCK_RESERVED_REGIONS; + } + + test_pass_pop(); + + return 0; +} + static int memblock_reserve_checks(void) { prefix_reset(); @@ -997,6 +1103,7 @@ static int memblock_reserve_checks(void) memblock_reserve_between_check(); memblock_reserve_near_max_check(); memblock_reserve_many_check(); + memblock_reserve_all_locations_check(); prefix_pop(); From patchwork Tue May 7 07:58:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13656388 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 E1663C25B75 for ; Tue, 7 May 2024 07:59:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 757D56B008A; Tue, 7 May 2024 03:59:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 707416B008C; Tue, 7 May 2024 03:59:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5A8306B0092; Tue, 7 May 2024 03:59:15 -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 3DF946B008A for ; Tue, 7 May 2024 03:59:15 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id AEC0A12086F for ; Tue, 7 May 2024 07:59:14 +0000 (UTC) X-FDA: 82090849428.22.3825D77 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) by imf02.hostedemail.com (Postfix) with ESMTP id E718D80002 for ; Tue, 7 May 2024 07:59:12 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RCF2M2dz; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf02.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.46 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715068753; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=qjbF9huOhyjeh3V47TboYkyqTO1+dYj+fAbZDTlbTBU=; b=vd7kzXBokGLLDShr9oMjDxqS3vbL94R/IiqSXknjlnbnsYVChD0ufGpA+rYkamkRv7DS4Z J0kvysrtEXb0t0XwDW1l2ve6A+woUs2vWvHns3EWsMmmpNgE/D3fbiLwOIoZ9SVhKfanX1 S15BNqH+KLYOG5yxLQPjjYOubiqOXt8= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RCF2M2dz; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf02.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.46 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715068753; a=rsa-sha256; cv=none; b=O6Cn8l9ZoCsecJGlFBAuE/uo37epFdBPMbJxWVQCGtLiaClD4dDtuIK+YU5z3S6L/iV/KE vM+ClIQZ5hQwxh9RwCSb0TQ9fgcDOcWtwFPKQfJnotxrMzPCXXz+mpRtFjYLy44utXyFqB Q3L81Ey1V/I8w8C8AQ2NoDKlr4RYhFE= Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-a59b58fe083so411033366b.0 for ; Tue, 07 May 2024 00:59:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715068751; x=1715673551; darn=kvack.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=qjbF9huOhyjeh3V47TboYkyqTO1+dYj+fAbZDTlbTBU=; b=RCF2M2dz2cnFS7GAoM7/YJPKl3PsV1psEwPGyPZC7EoFZB+Tvtj6skWe4zYhTylV41 lcCjGzIIGXisyGebbTMeO5RShu0HiRFHfq65g8HT2HDz/2b7DC+115m3QF22dJadQXnc kq8tbgHHCOCwQPbg4eiE68PfFZxbU2fAVg8pHNd+zUhWmaXVjZhXQKGIU2BsDYl75ytl WdoR3lsJbS/kEoeRBHarU/34ENRSIGw2RkiH4m6kObIjdZXos5PcF7BIpmONzdk3HN04 8nJZYU03E6BL1sHg79Jf5L6jAad2v7V8uiJy+qi5p56lC31vNjyviodhsZ2UjVs4zkRI narA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715068751; x=1715673551; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qjbF9huOhyjeh3V47TboYkyqTO1+dYj+fAbZDTlbTBU=; b=oO85/znr1DDd7fqdmtn+fs3Jifpv5m0kIEDs9m7zTNqzmIyWpp6qC/Q29jg9mEo1XO tZ2Sis/M6jN5uYNw6Y9Qu4gRqGHUWFnoSkC9Zl3BJV07cOmpEQhxcJFcBlUfGkJibe8O 4dYbqv931YfC5pmYmjE4yb6qhPTuk4Bx66K8IoG8KitIZFXwcyok74GOxIwBFU/TD9Qv 2fGp5Dvm0wky1OYZkJurIx+70tU+BiV7KxKNrRTB+DmEbBawnLXBB6fpbHL9wz5ye1WV xnINpehSg5MNvGb3HSMwta6HhklsFQD3cgJ0fiV9qvZXnGt/7EPKcjdBBJ4UaTlO01mI EEJA== X-Gm-Message-State: AOJu0YxGSCvQBv7oz76Nn+1YxJqDpYkoV7V/vxDcALAonwggohIkf7mS TTJWRNPaY1j2p5glKgLRtvPdHq0BME5CdAIlweybqWYFbD1zDsV4 X-Google-Smtp-Source: AGHT+IEja25gAtV1OFSjwuaA2tKVGljSfw0SCoQ7U2M9686hYiOTlvIsWnsenX0v6OIZ392FioSM8Q== X-Received: by 2002:a50:c043:0:b0:572:943a:cdf2 with SMTP id u3-20020a50c043000000b00572943acdf2mr7633829edd.1.1715068751479; Tue, 07 May 2024 00:59:11 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id ec43-20020a0564020d6b00b00572dea90dabsm4409917edb.63.2024.05.07.00.59.10 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 May 2024 00:59:10 -0700 (PDT) From: Wei Yang To: rppt@kernel.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Wei Yang Subject: [Patch v3 2/7] memblock tests: add memblock_reserve_many_may_conflict_check() Date: Tue, 7 May 2024 07:58:28 +0000 Message-Id: <20240507075833.6346-3-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20240507075833.6346-1-richard.weiyang@gmail.com> References: <20240507075833.6346-1-richard.weiyang@gmail.com> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: E718D80002 X-Stat-Signature: 66it3rfzekybij6fwnsobswmd3mmsjiy X-Rspam-User: X-HE-Tag: 1715068752-450475 X-HE-Meta: U2FsdGVkX1+Q8ccTf5gj5upVxaga25lVvDfnoeDpTWyyYpmOGelvuNzVKKwi35Qir7OZggiBPfhToSnzOsbqtQaJYJiu1Cv2Poc/0n4EsKwpkbsuedRE7oZ3QbMoSk2jpyJoUwKaZ1saNxOGTjxHupd3pOCt+rxlqx2EfxX0suLKCZJzDRCNuKHyTh/QqgkaxlQymT0vwArWlm2fdq9fvKVHoAZWy0os6T8234x+1Pqrw0txsB/lUuZxcsWK/zAB2yWuOjuiMdpxGQr0ZoIgS2shtiAduhbLQ/Amau2y31SUeMZyyJY9qWRhlK0gg2a04i1UsqAt5wv/J1pDv+W4p5MsLjLFZj5UYV5RYkY1TGkSKTX5od5yUg48U3VeH1tUIGRHsdkajSFhI2PjHKNeq8OjR/pf1vnXcF39m6cJMqn28fNhdTvjNqUIhIiDTCXcPIhHK1yAR92Z5A12D/HqXII9l/Fc6cQMH+xKcxmryzIHYWIewNYIucRJMWliA2LYZCY3qSCjCF4x7YANseFUSVAiT0AbC4e7aAmEo6l/rk/Zhb7i7JLXoz8J3REL6iCrAWiin+0cidSPxmHM1IELfVxeIkblcpMudcv+TmNJBk2XVdSDM613rb5nXF8IZef2Phu8w405LMUaV2x1UgDqzUox4V5y3bLSGsl/TpIP6Al14Am7aFJs6pIZdFfIu+VFk36aJ/IdLY69APJajvMecoCUoaVawLHZIfhL3ZWMGDRblgZnJWFon+ChmXpSTvC+ItwMn990oCxTAyFXzVsgDjYuMp1Eb+FbI79myD9vcSYHRJ71vyIW45AwXMNQY2+cicLqM1u12lfVs5rUd/BDFt73lQ1IUXihTAkpxERatD/d48k10ggB4cS4oW6N2sFVGqnVuW3WMeTqDuWVBYOpkRZEYUTqFskPCLZBle/sHkoKxhFBoz0kpcWySyJCKWnPZ0VuLxuz1JH9TCOzP2G wStJsNpl WFZNTN1TnYg74RCMzbse1aEUsZuMvPGmUBzEt6jcSldT+q5KptwxKwAIhCbvU0xVo47nQMHcxwM75s48Zx6mSBCAVnWsgKw1zIUUuYNrVMs/mLgbhU6fWtg9qjJmjUSEVnpMSsAW0cAvwJg6HHlC02vgn3+G9a99NZKzmSFO3by2i90NQWTvak4dqMWBujUJ9psmcD9g7l8MuvZZJ5CH7800oAT0pLNBTeFgRLFv4XpBYWX/tTe6IWh2FeuLCdrzSxLGGXuHboDE5ZjQYLEsVR6RBW3uo5VZ5+8G/RyEsAz+bgClbevk8V35kc2e3f1qVZqWvk3Ve/T1yZS/B5ewrYFfTQ2BLcwuerkEpMfM4X/tomVr472pgkYno60giK4dAU/aCEVWqF9c4fkTQoD3FS0sZNfkNMKV5ETeubLcaWuOYjmcmw/PpLH5k9F76KLeKYFlsP0PgAfZBn1LZEqz2xVcjFWJa3WTacfAmAjpfZ9YiDVTpIOI0dU3uRXIUdNFeNJRcnF9quLXGpu/td43i8w8Keh+YOrFmeRLETMzBAVQDayU= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000082, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This may trigger the case fixed by commit 48c3b583bbdd ("mm/memblock: fix overlapping allocation when doubling reserved array"). This is done by adding the 129th reserve region into memblock.memory. If memblock_double_array() use this reserve region as new array, it fails. Signed-off-by: Wei Yang --- v3: * rename MEM_ALLOC_SIZE to PHYS_MEM_SIZE * add test description --- tools/testing/memblock/tests/basic_api.c | 151 +++++++++++++++++++++++ tools/testing/memblock/tests/common.c | 4 +- tools/testing/memblock/tests/common.h | 1 + 3 files changed, 154 insertions(+), 2 deletions(-) diff --git a/tools/testing/memblock/tests/basic_api.c b/tools/testing/memblock/tests/basic_api.c index bd3ebbf6b697..fdac82656d15 100644 --- a/tools/testing/memblock/tests/basic_api.c +++ b/tools/testing/memblock/tests/basic_api.c @@ -1088,6 +1088,156 @@ static int memblock_reserve_all_locations_check(void) return 0; } +/* + * A test that trying to reserve the 129th memory block at all locations. + * Expect to trigger memblock_double_array() to double the + * memblock.memory.max, find a new valid memory as reserved.regions. And make + * sure it doesn't conflict with the range we want to reserve. + * + * For example, we have 128 regions in reserved and now want to reserve + * the skipped one. Since reserved is full, memblock_double_array() would find + * an available range in memory for the new array. We intended to put two + * ranges in memory with one is the exact range of the skipped one. Before + * commit 48c3b583bbdd ("mm/memblock: fix overlapping allocation when doubling + * reserved array"), the new array would sits in the skipped range which is a + * conflict. The expected new array should be allocated from memory.regions[0]. + * + * 0 1 + * memory +-------+ +-------+ + * | 32K | | 32K | + * +-------+ ------+-------+-------+-------+ + * |<-32K->|<-32K->|<-32K->| + * + * 0 skipped 127 + * reserved +-------+ ......... +-------+ + * | 32K | . 32K . ... | 32K | + * +-------+-------+-------+ +-------+ + * |<-32K->| + * ^ + * | + * | + * skipped one + */ +/* Keep the gap so these memory region will not be merged. */ +#define MEMORY_BASE_OFFSET(idx, offset) ((offset) + (MEM_SIZE * 2) * (idx)) +static int memblock_reserve_many_may_conflict_check(void) +{ + int i, skip; + void *orig_region; + struct region r = { + .base = SZ_16K, + .size = SZ_16K, + }; + phys_addr_t new_reserved_regions_size; + + /* + * 0 1 129 + * +---+ +---+ +---+ + * |32K| |32K| .. |32K| + * +---+ +---+ +---+ + * + * Pre-allocate the range for 129 memory block + one range for double + * memblock.reserved.regions at idx 0. + */ + dummy_physical_memory_init(); + phys_addr_t memory_base = dummy_physical_memory_base(); + phys_addr_t offset = PAGE_ALIGN(memory_base); + + PREFIX_PUSH(); + + /* Reserve the 129th memory block for all possible positions*/ + for (skip = 1; skip <= INIT_MEMBLOCK_REGIONS + 1; skip++) { + reset_memblock_regions(); + memblock_allow_resize(); + + reset_memblock_attributes(); + /* Add a valid memory region used by double_array(). */ + memblock_add(MEMORY_BASE_OFFSET(0, offset), MEM_SIZE); + /* + * Add a memory region which will be reserved as 129th memory + * region. This is not expected to be used by double_array(). + */ + memblock_add(MEMORY_BASE_OFFSET(skip, offset), MEM_SIZE); + + for (i = 1; i <= INIT_MEMBLOCK_REGIONS + 1; i++) { + if (i == skip) + continue; + + /* Reserve some fakes memory region to fulfill the memblock. */ + memblock_reserve(MEMORY_BASE_OFFSET(i, offset), MEM_SIZE); + + if (i < skip) { + ASSERT_EQ(memblock.reserved.cnt, i); + ASSERT_EQ(memblock.reserved.total_size, i * MEM_SIZE); + } else { + ASSERT_EQ(memblock.reserved.cnt, i - 1); + ASSERT_EQ(memblock.reserved.total_size, (i - 1) * MEM_SIZE); + } + } + + orig_region = memblock.reserved.regions; + + /* This reserve the 129 memory_region, and makes it double array. */ + memblock_reserve(MEMORY_BASE_OFFSET(skip, offset), MEM_SIZE); + + /* + * This is the memory region size used by the doubled reserved.regions, + * and it has been reserved due to it has been used. The size is used to + * calculate the total_size that the memblock.reserved have now. + */ + new_reserved_regions_size = PAGE_ALIGN((INIT_MEMBLOCK_REGIONS * 2) * + sizeof(struct memblock_region)); + /* + * The double_array() will find a free memory region as the new + * reserved.regions, and the used memory region will be reserved, so + * there will be one more region exist in the reserved memblock. And the + * one more reserved region's size is new_reserved_regions_size. + */ + ASSERT_EQ(memblock.reserved.cnt, INIT_MEMBLOCK_REGIONS + 2); + ASSERT_EQ(memblock.reserved.total_size, (INIT_MEMBLOCK_REGIONS + 1) * MEM_SIZE + + new_reserved_regions_size); + ASSERT_EQ(memblock.reserved.max, INIT_MEMBLOCK_REGIONS * 2); + + /* + * The first reserved region is allocated for double array + * with the size of new_reserved_regions_size and the base to be + * MEMORY_BASE_OFFSET(0, offset) + SZ_32K - new_reserved_regions_size + */ + ASSERT_EQ(memblock.reserved.regions[0].base + memblock.reserved.regions[0].size, + MEMORY_BASE_OFFSET(0, offset) + SZ_32K); + ASSERT_EQ(memblock.reserved.regions[0].size, new_reserved_regions_size); + + /* + * Now memblock_double_array() works fine. Let's check after the + * double_array(), the memblock_reserve() still works as normal. + */ + memblock_reserve(r.base, r.size); + ASSERT_EQ(memblock.reserved.regions[0].base, r.base); + ASSERT_EQ(memblock.reserved.regions[0].size, r.size); + + ASSERT_EQ(memblock.reserved.cnt, INIT_MEMBLOCK_REGIONS + 3); + ASSERT_EQ(memblock.reserved.total_size, (INIT_MEMBLOCK_REGIONS + 1) * MEM_SIZE + + new_reserved_regions_size + + r.size); + ASSERT_EQ(memblock.reserved.max, INIT_MEMBLOCK_REGIONS * 2); + + /* + * The current reserved.regions is occupying a range of memory that + * allocated from dummy_physical_memory_init(). After free the memory, + * we must not use it. So restore the origin memory region to make sure + * the tests can run as normal and not affected by the double array. + */ + memblock.reserved.regions = orig_region; + memblock.reserved.cnt = INIT_MEMBLOCK_RESERVED_REGIONS; + } + + dummy_physical_memory_cleanup(); + + test_pass_pop(); + + return 0; +} + static int memblock_reserve_checks(void) { prefix_reset(); @@ -1104,6 +1254,7 @@ static int memblock_reserve_checks(void) memblock_reserve_near_max_check(); memblock_reserve_many_check(); memblock_reserve_all_locations_check(); + memblock_reserve_many_may_conflict_check(); prefix_pop(); diff --git a/tools/testing/memblock/tests/common.c b/tools/testing/memblock/tests/common.c index c2c569f12178..3250c8e5124b 100644 --- a/tools/testing/memblock/tests/common.c +++ b/tools/testing/memblock/tests/common.c @@ -61,7 +61,7 @@ void reset_memblock_attributes(void) static inline void fill_memblock(void) { - memset(memory_block.base, 1, MEM_SIZE); + memset(memory_block.base, 1, PHYS_MEM_SIZE); } void setup_memblock(void) @@ -103,7 +103,7 @@ void setup_numa_memblock(const unsigned int node_fracs[]) void dummy_physical_memory_init(void) { - memory_block.base = malloc(MEM_SIZE); + memory_block.base = malloc(PHYS_MEM_SIZE); assert(memory_block.base); fill_memblock(); } diff --git a/tools/testing/memblock/tests/common.h b/tools/testing/memblock/tests/common.h index b5ec59aa62d7..2f26405562b0 100644 --- a/tools/testing/memblock/tests/common.h +++ b/tools/testing/memblock/tests/common.h @@ -12,6 +12,7 @@ #include <../selftests/kselftest.h> #define MEM_SIZE SZ_32K +#define PHYS_MEM_SIZE SZ_16M #define NUMA_NODES 8 #define INIT_MEMBLOCK_REGIONS 128 From patchwork Tue May 7 07:58:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13656389 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 F36C0C25B75 for ; Tue, 7 May 2024 07:59:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 890956B0092; Tue, 7 May 2024 03:59:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8409B6B0093; Tue, 7 May 2024 03:59:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E1976B0095; Tue, 7 May 2024 03:59:19 -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 46D566B0092 for ; Tue, 7 May 2024 03:59:19 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BFDA312032C for ; Tue, 7 May 2024 07:59:18 +0000 (UTC) X-FDA: 82090849596.09.3ABECF0 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf04.hostedemail.com (Postfix) with ESMTP id 0B65740013 for ; Tue, 7 May 2024 07:59:16 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jrPuzL2x; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf04.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715068757; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=8pcITpbGd2mJp+mgpzz0GMtkyS0m+SKTQixBW3eumI0=; b=VPhFiZj/SL2oJ2Wv8XllkEj+t4WxtR4w5sL7zZXNhxPkz2wL1rv7AnXLm9FC10pF3Ox9jM b0glMK9FcR3NkNABKFa2447rWK62sYbwi4ehzqoQEh1VLKNfy5pi8wDUSFBG4p3yublP3q /uN4Bx05GzCuzlGhqkLUSO7oA/cT4HA= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jrPuzL2x; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf04.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715068757; a=rsa-sha256; cv=none; b=3TrAGh1lfmfzmClb8ciRc0mIArUhRoLmKYNhVvffCa+9XT9pEK2wE3AyIOYpvsvpoNPBuO pm6pXe/8rHiBCA2e0yl5dHkE2jKVymDCdHL7krZxq4tq8zUP6NWa5y4a8hmCSoCGkSDKvu C/ehYrx+Q4I4y/RVUoPbfgCg+zozVM8= Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a59a5f81af4so717140266b.3 for ; Tue, 07 May 2024 00:59:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715068755; x=1715673555; darn=kvack.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=8pcITpbGd2mJp+mgpzz0GMtkyS0m+SKTQixBW3eumI0=; b=jrPuzL2xMnKs09P8ivW1/vfbMF0/mTHIdzwObKTeHH64IyTU19FAcmnw/9FDNuSdGO P9cGMFsmUGpriwMiuuIACtHIl2u51GtIFOycCFJK6xq0ZQdj9myF94cpuI8Mt28wp4hU oHO4wJFIISz3mkiePcAY8WTS2dqqdfd1E4KuMMloB33ddz/uZRwWyHgSBPqUotxUQU0x NmH1Cr2LlNJNyl7SoR+5Ag6TL6CrgsgemM3D329ZjJdYpi3Rg+jSZ79YdpSq2g7JDvTS YquYjIpRLD/GGhpQOQOsYdMc+pwoBsHUTrKGadQwshDsLfrqYxv1g9mcHTu/matbqI/s WC5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715068755; x=1715673555; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=8pcITpbGd2mJp+mgpzz0GMtkyS0m+SKTQixBW3eumI0=; b=diNp4ZTqYOL4PjmE22nCtYri+gaN2aPzGsauSlLZdCb/kiB2kQRc5OqMZcOJrqo4C5 MKvGaHNaAjZ+NNCGG5zFQYMJoIyhKfJmcGa6IltcYlYUVaCC1KQM4qcTjDHvBVsJqNUV hVkNX/VTxUfdz2wbugYWG9eVHDJDj+OJYWazkNJ0wKeAySoX8vFD8YiQmbGAGrmW6qHW 6hFMPJoXgc+ireLPS5PKqAJ8BPCSMJqX0lW/5Ac3uTVEeedZKQEFVbBhjc4ig8ra/jGI nGNY4d5GuYvoVbIZTQesT934votP6dMQ3B0U7qOZNCtFw6Yl2eSsOyJdFxX03W+4S9rR etOg== X-Gm-Message-State: AOJu0Yz6XNXxzq5U76wE0XNTQJqPFpBSSWEhK5yx5Z95uadgyrmR5Y3l dR+qlVdqn52ZBuwImSCtSU6/EbrNc4VW2GwI+VSZw5TTBkU4Li8a X-Google-Smtp-Source: AGHT+IGy7lN7Gsk836UyFemnkJ/BOo4+/+ERs9QdbVjivhEb1LnlyoQxMluSTYJej1NHPWY92KZOew== X-Received: by 2002:a17:906:5645:b0:a59:cfab:50e with SMTP id v5-20020a170906564500b00a59cfab050emr2927061ejr.16.1715068755453; Tue, 07 May 2024 00:59:15 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id u20-20020a170906125400b00a59c5cd5f65sm2703558eja.115.2024.05.07.00.59.14 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 May 2024 00:59:14 -0700 (PDT) From: Wei Yang To: rppt@kernel.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Wei Yang Subject: [Patch v3 3/7] mm/memblock: fix comment for memblock_isolate_range() Date: Tue, 7 May 2024 07:58:29 +0000 Message-Id: <20240507075833.6346-4-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20240507075833.6346-1-richard.weiyang@gmail.com> References: <20240507075833.6346-1-richard.weiyang@gmail.com> X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 0B65740013 X-Stat-Signature: ah8goyg5oqwjf5gb844ondu5unwkspy3 X-HE-Tag: 1715068756-825410 X-HE-Meta: U2FsdGVkX197EQmlSx1Ob6rsgf+xMaiqV6Pyi0e+0ZT/kI8VOESHQg5T9bXqoqXTpvVgq3YCuV22uKynhbl31owF4F4sEodk6A1zGs+uFTFST1ZhHqQAmk2Dmu9QbGnFTxuKdoOd6sXCo3cDm0wMDspukGcGPOeZUP++lw+mNsUVuz4q3cZRD00sr0BsetR6gJMOb76n3LKVVrvVXeyD8GaVG3LLTqoclb7zmUwS+L8NCUJuBBv5gJbYJS9LQ5ZDeFpY/2XfUoSwiKA4JnlDIpLQ2F9xJ+pPtbAsC0trx62ysjkiRhOQiG2XK9altz33Kh54uLpsLKDy0T6q7rM9sR72k6UvhqpEa2ZtbXnjOXLvZ+NtVl/goczUSG2oQNN2kbttVyHG9QW3jqKbuoegYAbyEToMKYWNvZ2BJ+JoZ5wtndrmH3k5xoChqdHlWa5CBQt4sdi4ySmak3k/qJldqMcN7A7fp/7i1MVjceJpk3NVQ0jLuWBNZFgV38meE7DNjrPfvs4zPFhX4929KsJ2ZAg8NPkJrw8lOrsCpwSXUKAuqTYgoG14BLhsW3K5sVAqCMkdp/29KpAsCU0bhuh0TvZUFaPGjJ0j1tq9g9CWUPT1AsFC+h7thbnxLE3NNlzjOOgTwMFj7qu5aFOd4NhUOu0rQgWQ2o5z2W2iopo2+TgPFG5n5h7ogwPhuZNpGMCJ9bdPO/KgAtDPJrtQ7zR0wqFczIUCJM7lu8muiFy+qJ0tqs/9uPKIz7zyc2UorycQ94rw1+ix5lg5aKt1dfurRlnIz7wXTy3vXQuRaswnH8j7ZOEuHqI9MdvMHY8fc2Vn28dnvDSZXmO6WFStWFtaOq0rB1/nPepsR3M4VoQAuyIZ31by+aIdvWUXwCFbc98l8xOtzO52igwNPVvbirj6cjDrOE0QBvQsl+KC0RXz69lpJZRFE0Dv3GKfWhI0wTX3aBv/KsofeRn51thq4uE JK03MQms GByhxh3sTW/SDuPqirIHojVvcMuUxPfcHf5EDI71CLVa9DG2ZxP2IMsEGRyhN121ME1bwUxdV+PpTFaq20462LSP70AtXW5zfDcUZT5ZXhpLOynjqySkXMATCYP6DC6+f8S9X5Lh72UYsw6QlKqG/CyNGyEhk//Bey/OncDs9+kuOMQQ8+tjVZLX6Qd5JCYwFClMpMHpzmcyqKw2FT1+htR1aaPN9EHF9RPvHA7MuosdjBaJiVLudGkgQpeSUC9N77Vkz5ePl/VyCEuU2bJQA+WoAk2wu5AIAcJrDjHuHnSvLmjM3GhyBjb9NXPAfUIpJEh0+r4dWMe/ZARixf1iG0ih5KXd9ZXbdWhw9Wd3TQRT2/ZqKH7Z5+vHuPRbsJ3RI4aaL9TkAZ+7EmgEVb2WhXF9yy1vbq29hi41NQk8tfJ7yliknTNAuLuUx5qqLCH47eiXq4Wz1afQRTsLmjAH75ul9o4JS3DZoe/yAsumkAn9jn8095F1BDxzWzOPBF6ci4qH7rMBbMWXsEiN5dFHWv2doDBeN/SDd7izgbWCXllZx9lA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000306, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: The isolated range is [*@start_rgn, *@end_rgn - 1], while the comment says "the end region inside the range" is *@end_rgn. Let's correct it. Signed-off-by: Wei Yang --- v3: rppt reword comment --- mm/memblock.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/memblock.c b/mm/memblock.c index 98d25689cf10..7f3cd96d6769 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -777,7 +777,8 @@ bool __init_memblock memblock_validate_numa_coverage(unsigned long threshold_byt * Walk @type and ensure that regions don't cross the boundaries defined by * [@base, @base + @size). Crossing regions are split at the boundaries, * which may create at most two more regions. The index of the first - * region inside the range is returned in *@start_rgn and end in *@end_rgn. + * region inside the range is returned in *@start_rgn and the index of the + * first region after the range is returned in *@end_rgn. * * Return: * 0 on success, -errno on failure. From patchwork Tue May 7 07:58:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13656390 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 43C45C10F1A for ; Tue, 7 May 2024 07:59:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CD6DD6B0095; Tue, 7 May 2024 03:59:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C86006B0096; Tue, 7 May 2024 03:59:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B02CD6B0098; Tue, 7 May 2024 03:59:22 -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 8BC586B0095 for ; Tue, 7 May 2024 03:59:22 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 3DE07C0DCB for ; Tue, 7 May 2024 07:59:22 +0000 (UTC) X-FDA: 82090849764.11.202EEEA Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by imf27.hostedemail.com (Postfix) with ESMTP id 7505C40005 for ; Tue, 7 May 2024 07:59:20 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hzU4IxVx; spf=pass (imf27.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715068760; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=R5QyQBpezRwJm3+DU+O6shOf8VyZKU84I57K9BkLmoQ=; b=vY9KTDBNMFUj4BRsbLOP7sUDnlzvQ5zBMTso1DUSrWVGtdCS9TiwcdF1REs1gNXWUth5jQ iKGQvsGTMkbBGAETTpaBoY9lTi65Vjjz+RqN7xn7DGqwa/PpRFze8tsgy7HSpy2Op6J2zh VUHDJXaR3r4yUEUoG3yc+BYHCX8Ukl4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715068760; a=rsa-sha256; cv=none; b=lz5wh/XD/xL65VEfWALbKNN6fwJsNbMp25UK+okIpt+C59rQog2xPgf1XU4bGBUPwEGB+V gLUugoIyA8g7JH4cE2HcXb5C8abTV2lrkiyc1ka1U4u29Zn9q2EbTP+fCe0Bjb3VfiC3DP F2+mMovx/IIQ32X9bClgWZSy7gG8tHg= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hzU4IxVx; spf=pass (imf27.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2e1fa1f1d9bso53937181fa.0 for ; Tue, 07 May 2024 00:59:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715068758; x=1715673558; darn=kvack.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=R5QyQBpezRwJm3+DU+O6shOf8VyZKU84I57K9BkLmoQ=; b=hzU4IxVxC2suZAmKwulerfbibkJuSVzybYVD9TB4MpgeE0hmdkYIdTGy7/XW4Ronj9 Thqtzi2j/VT25gO0FSvJN4TcAWbgkn8visbgGL4UpbjJ7cIluuzsUd3NCeUGCA1bmHo5 PuHglyTkaQuO7K4P52DBtOTL7scYuuwjKsrJcnQH/GvuvuqXPTTeps4gYC3GUWmSesv6 v4ftA82UOji9hsomgYLkxAo0h0TVxQCEo0mKvOii48443ZP0WU6GX0XTWVFw5sJGB5Zr /BbXrgdp3xbSoZAJZeJtms2Buytn9/isaHosQjPs8Zmf01iAP2JpdL1s/2aT815x4+7h KC/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715068758; x=1715673558; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=R5QyQBpezRwJm3+DU+O6shOf8VyZKU84I57K9BkLmoQ=; b=fUiQRx1BmQCAS0tVIzfELTOdGSjqJ5tdammP7PTjEeiBJ4cVCuLZ49zbSUOc4u3jti /PrtqCb5La8rD5IGzqj4stBDrtjxW49J9UHqK5ISoggppF0CafZOrHw95dvEK9zd2E8O +2cehAJ/69C6Y/JsOfkt0G0PyQskNvqAcFeYit+4seyyz1/2c39V8AkOw04KmSUv1LDf sCeR0GSUhCA/apeStW2htCDBgE7A0ahlhXe74apEN5/Y+PTdbZtsMH/wXlLFEqem2AiB /lMEA8Tv3Q+7yHmMFbAMhvEenMCj0Oxggrtbr7eHbdB6yB1y4hEd4ZikpMyv8axpzwiV owug== X-Gm-Message-State: AOJu0Yz+yIVRV1rkBLgCf8QI2GTuSAgNzgQwEOv44PjFZGT+fcMWf5qj VH3UeqEqcIf73B03ahMNqmkvAUSATOQb218QRRxzWSLM3mTkwHwJ X-Google-Smtp-Source: AGHT+IE5Of2YxYFv5ScXvbW4/ssId5EQY9edZv3EIz820bdoUdHEK0A5M1Z57e2IyHqfdckIvUBPCg== X-Received: by 2002:a2e:7a14:0:b0:2e1:c636:168a with SMTP id v20-20020a2e7a14000000b002e1c636168amr9322297ljc.24.1715068758328; Tue, 07 May 2024 00:59:18 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id v6-20020a1709067d8600b00a599e65808asm4604272ejo.18.2024.05.07.00.59.17 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 May 2024 00:59:17 -0700 (PDT) From: Wei Yang To: rppt@kernel.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Wei Yang Subject: [Patch v3 4/7] memblock tests: add memblock_overlaps_region_checks Date: Tue, 7 May 2024 07:58:30 +0000 Message-Id: <20240507075833.6346-5-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20240507075833.6346-1-richard.weiyang@gmail.com> References: <20240507075833.6346-1-richard.weiyang@gmail.com> X-Rspam-User: X-Stat-Signature: mjkm8ebmnt5pxrxzcuzwbo5uki9wjso9 X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 7505C40005 X-HE-Tag: 1715068760-864130 X-HE-Meta: U2FsdGVkX18ACmQ4WcDLkl1RSUTnpX6K0otT336yKvdX5/EoMh1nS8hxsVg24A0iFwUJ+iOKL5Muf8kWfw3snluHoNWWsO6foLRzaSm5dseQTXFxBT7xG+9GTTpYK5cFnP7/pKEn/xpuOQWm/acGqtK7iMEzLBVfakqvDHubbI9aKog/Ip/N2qnrZxyQf4gquEXX6YKdcy50wW/TFyvuYPZzpX3Vw7SAYhF0uxtP1c6UhHrFvRlF5aUiFrjIzB8Vf/TUJpH/mXkLNQ/CR6aGy03wRf7DB6unwT7ntfetP1UZvQfq8XU3j0vHTrve9p+o65Vmi0WbFT2Rc3T7ytrKM9pzSEZqpYKRLLFz/MShsNvokK3MIKqUiPHooGxo6S8Bl1onkB4TTdnW58+X39ScTl2PhK2IYbi360Jf2nFgF3ipOto1CqfXjBUQCeJ5HgyS0pnOXhtCK8FmFaPmjrvYXkY1nZ+qWhHNuitn8Rs7br6Vyks0nz53L7ZuT60r3c1GwnJ1HgSAO/L34SitjepgD1xZM7Du0blbIs6OJcq3Y+jM4Ufz3qjvxQqFtepl1PWpCXSAMIgtpFwNCGQYCpjcUJmKFLmaIacKTeJ/ucz90S76qoP/zlEKlSVOHKgKc7R9BXnFAOHqUOzNAWM9Uh23Jtb/F/mknIgrbVxspKbO6rkChQNePYX8yxmllPghz/f7/fFX9I8ZGN1JGWxup9GL0clXSVIYF+vHGCxYhyqsrXyxyx8LJvyzLbzSiVki7gXMR6h6nwyEWif1Q9GBVsFEPh8vOflzgl2OQidoYlrovJNbReri0e22x80I496oUZHe41UaHWy8gM4QWChmt4p+YN6y9QwSmBN/XoghFpTpajWli5giN9pHr7Quqg7OkACselA8DIVPh7x2y/cANDRrcVyX363U8o5C+DTa1DIIUGwdUeWpO/22VZ/BOZX3wWIRc9Juqbygc2ciGNfbUw5 jfTp1V4V gTMMwbKdQWiCO0wQCqeE29o2Yqkb2+fRsfsqBYLh6S+QD0j79H+R9xrfwbcDinSt0UaOVruBlacefvuPFhEfnZZHlj1SPEKh4R2l/EL9S8MNPw5JrizmqoyUVM8V7zCKojpPiwCNrwMPsoCCGE+yqgbIWtcdWnCHwIdhpABrlyU0WHbnpAtHxlI+yZ5XAyEZrNQQh96kn+afVVF+1leEdZAq5s/ooL8i6KK+cZONuP6P62XBjbG7rFpLGx/ZWwpXsd56kO1GrjX45jiyBF/L7dFAkdNZ7McpPb8RsSpEMg4M/gNpvxAXnm1eZQGfmoqhkR2U2Zei2bmLpgbx0xWEHF7IOBo9vsR+7xLuf5ujDKBzfVa5rCINpF1/KogzaT//PZfGZczXmrmb+2crQJmNmb9Ki3myIcOLeOpWjs7/8SNPx3te9JznVRk0fhwh2bbC4JWUuVLw9VYWEWLnbcrKVnTWxHUSfC688k6ejE3xegBsyhaUkjB2mfnOkEaOabxfwpmWj4Bs8x5fw8BomfkDgQxjhXjnz82ZjtLd+x7rn11uSTzI= 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: Add a test case for memblock_overlaps_region(). Signed-off-by: Wei Yang --- tools/testing/memblock/tests/basic_api.c | 48 ++++++++++++++++++++++++ tools/testing/memblock/tests/common.h | 3 ++ 2 files changed, 51 insertions(+) diff --git a/tools/testing/memblock/tests/basic_api.c b/tools/testing/memblock/tests/basic_api.c index fdac82656d15..67503089e6a0 100644 --- a/tools/testing/memblock/tests/basic_api.c +++ b/tools/testing/memblock/tests/basic_api.c @@ -2387,6 +2387,53 @@ static int memblock_trim_memory_checks(void) return 0; } +static int memblock_overlaps_region_check(void) +{ + struct region r = { + .base = SZ_1G, + .size = SZ_4M + }; + + PREFIX_PUSH(); + + reset_memblock_regions(); + memblock_add(r.base, r.size); + + /* Far Away */ + ASSERT_FALSE(memblock_overlaps_region(&memblock.memory, SZ_1M, SZ_1M)); + ASSERT_FALSE(memblock_overlaps_region(&memblock.memory, SZ_2G, SZ_1M)); + + /* Neighbor */ + ASSERT_FALSE(memblock_overlaps_region(&memblock.memory, SZ_1G - SZ_1M, SZ_1M)); + ASSERT_FALSE(memblock_overlaps_region(&memblock.memory, SZ_1G + SZ_4M, SZ_1M)); + + /* Partial Overlap */ + ASSERT_TRUE(memblock_overlaps_region(&memblock.memory, SZ_1G - SZ_1M, SZ_2M)); + ASSERT_TRUE(memblock_overlaps_region(&memblock.memory, SZ_1G + SZ_2M, SZ_2M)); + + /* Totally Overlap */ + ASSERT_TRUE(memblock_overlaps_region(&memblock.memory, SZ_1G, SZ_4M)); + ASSERT_TRUE(memblock_overlaps_region(&memblock.memory, SZ_1G - SZ_2M, SZ_8M)); + ASSERT_TRUE(memblock_overlaps_region(&memblock.memory, SZ_1G + SZ_1M, SZ_1M)); + + test_pass_pop(); + + return 0; +} + +static int memblock_overlaps_region_checks(void) +{ + prefix_reset(); + prefix_push("memblock_overlaps_region"); + test_print("Running memblock_overlaps_region tests...\n"); + + memblock_overlaps_region_check(); + + prefix_pop(); + + return 0; +} + int memblock_basic_checks(void) { memblock_initialization_check(); @@ -2396,6 +2443,7 @@ int memblock_basic_checks(void) memblock_free_checks(); memblock_bottom_up_checks(); memblock_trim_memory_checks(); + memblock_overlaps_region_checks(); return 0; } diff --git a/tools/testing/memblock/tests/common.h b/tools/testing/memblock/tests/common.h index 2f26405562b0..e1138e06c903 100644 --- a/tools/testing/memblock/tests/common.h +++ b/tools/testing/memblock/tests/common.h @@ -40,6 +40,9 @@ enum test_flags { assert((_expected) == (_seen)); \ } while (0) +#define ASSERT_TRUE(_seen) ASSERT_EQ(true, _seen) +#define ASSERT_FALSE(_seen) ASSERT_EQ(false, _seen) + /** * ASSERT_NE(): * Check the condition From patchwork Tue May 7 07:58:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13656391 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 B93FDC10F1A for ; Tue, 7 May 2024 07:59:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 425906B0098; Tue, 7 May 2024 03:59:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3ADC56B0099; Tue, 7 May 2024 03:59:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 227266B009A; Tue, 7 May 2024 03:59:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E8F106B0098 for ; Tue, 7 May 2024 03:59:24 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 764EFA08E4 for ; Tue, 7 May 2024 07:59:24 +0000 (UTC) X-FDA: 82090849848.03.FBAE0B8 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by imf30.hostedemail.com (Postfix) with ESMTP id B671F8000C for ; Tue, 7 May 2024 07:59:22 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=TvXqruza; spf=pass (imf30.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715068762; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=CXNecoPkoSuP6xdn0dBATYGcjwQSZ4ER53CFKlIvens=; b=F00mHJyQg4Mun185NONiL1SFzeFAVPdHxC6ZmlZP/IrKuKdRlKlUlbavHsY+muTWnAy5Ft 8fNwDwRqayHqrGzLtsH+pL0PCymKE/qdjgRBG14Fj1DCQpgeR9X1wl248gnN/bc9d1g+ey AfX3Hau7GXFTJZazoS10C7KHAiD5IpM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715068762; a=rsa-sha256; cv=none; b=xd3uRLZP6TkeKH6frQ5G8SirQLuG3DIW9PG6/oBFTUwSfx9CGE+hkOjuCWS+mxGvRXpAF7 UQz99XwPK7i4IcW1b3rJHZEL4wU/JXt1vl1yt6CBWkKwaJYtMntB620nUQZijD3DXWYgYJ UsFQfla50J71oOGhI9Wir2Is4wAWWmI= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=TvXqruza; spf=pass (imf30.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-a59c0a6415fso579260566b.1 for ; Tue, 07 May 2024 00:59:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715068761; x=1715673561; darn=kvack.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=CXNecoPkoSuP6xdn0dBATYGcjwQSZ4ER53CFKlIvens=; b=TvXqruzaKISD9BHDGrOsS8DYuuJVGv597hESgfIB6rfg0NHDpPksxznlJ3u/dss+Hp zSlqR8gkU374tdStlQoGfXcCKVin0NGOVnhjzEtz/XRt9wmPufj1y2wP3QXsh//eGazz iBAJ431EX5JT0nneuihAc9ft4DBBYP+hr7uhNo7hU/s7/B48mneL7PG6TsX1UioJ3su3 Z1gIoiEoaF6iozZ2lGVZ9hOyQHU81YiLe4Ucey4ZzuxsgZqDMCeS6eiEP7qpWePN1TeS YaA2lIyoRuEuvR6ZQi7UBMx8H5cACBptijVWAQ5wATGzcK6iTtR7Dax7LrKuTwD1zp4B ORYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715068761; x=1715673561; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=CXNecoPkoSuP6xdn0dBATYGcjwQSZ4ER53CFKlIvens=; b=Xp5QClQr6MJW226zETHcCCaP+XqTpyWgv+xnKJ9tTFqag0o0Mc+oQh71016YRajYDL 1HB0IF0yRHbcgP+Yxe8fHDf8gJWNVPxIQQt8XIBettjJQOTZbjiFVexSMLMaw5vE2mRP xHcGvqJBJ0fe5cqgVIRx7TJ5za+ggMeNuUPdf8iRj28jDGldRBnODNmpR6Bf088vb048 2/G1RT/oupXAjHooO54e9V9jJe2JJW4HrK6Gl5QfSJ593TZOYvjl/xf9rF97K9CNL+dP jnYqdf1FAx/GVAQkm/ZUhL6CtFwiTJ5LppKOBn2Jabdm2QVKdcuqtwHM0P6AAT/fhIjW O//g== X-Gm-Message-State: AOJu0YxN6CifBl1dhUjje7Cmhhwisxxed4JGUE/YjpempF+c6jx6Sn4A tpnBsbPiW6Xpd/4PEPg6tv9yI8pIh6R3/ftbW6OWGnzmzOepGuNG X-Google-Smtp-Source: AGHT+IEODNxT+oagLIPY87CJ0nO4gbqVKI1P4pGD619/vyl5tV/kETeFGQCeZ2dpX+9ehoi8Sox4/g== X-Received: by 2002:a17:906:cb88:b0:a59:cf0a:4e48 with SMTP id mf8-20020a170906cb8800b00a59cf0a4e48mr2701455ejb.47.1715068761250; Tue, 07 May 2024 00:59:21 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id w24-20020a17090652d800b00a59aa17f23fsm3776040ejn.203.2024.05.07.00.59.20 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 May 2024 00:59:20 -0700 (PDT) From: Wei Yang To: rppt@kernel.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Wei Yang Subject: [Patch v3 5/7] mm/memblock: return true directly on finding overlap region Date: Tue, 7 May 2024 07:58:31 +0000 Message-Id: <20240507075833.6346-6-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20240507075833.6346-1-richard.weiyang@gmail.com> References: <20240507075833.6346-1-richard.weiyang@gmail.com> X-Rspam-User: X-Stat-Signature: bui4a17ei3dwdjyz74zjdye8wg14spp5 X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: B671F8000C X-HE-Tag: 1715068762-800453 X-HE-Meta: U2FsdGVkX186UgyDuqS8kryqxVEgXtdO6Rl2sln3+i05Q9XWiV9GqmOsKgiKEm9vTAHR1Ijqspk5z33SDB3tB8tiL0eQuxYzje5+geJxD7IdFWWKtCn5mNOL0s2A7qY/yQvxel+aWcmu0zDf9N8X1dDB6nQ6DHrdzIYyOWnTL1H7zrLVWp07GtJdpU7Znbz4h7Vr3e4/E28Ct8nJfNnxDnnHB+LwRTZRcpTS3yocMsBVIR2vqoKqqYfssnGtziVGlvPTwVSUB0rl896ss6fN6OdJjw2vxDJJGv49Zuq4Ck+ofMZEzuEZlg66v9S+K75llu1gnI999nBBH/+Jo0PyCN3MAjyApJxwQNqMMEBFvaOKCyZ6GrGCajR4AbyYc+37guqFhhg+oBuHUW2RDqi7NRRHRPyDIrdaEkMvlHGTlNxuEYgA1KZBpP88EY75S7dFYht6M0z99UqwcRQyF7x166wGzHj6/xbu3OF1hkPPVXp9bZdedLvC1pJ3mb4T+Dd6RqufyHDl3f6C3kn5yW26K4pAW9KQuaDfT6+d5aeALcDgtKbxUi2fmJpo6IwSlhGqzYk25Q9Ox1VjAuLvbeI9Vvzw5QOUnrxZ/zY891ZpFa/Ka7pJL9Hxow9LENf9MYeDjIdgxysLunq5nJl9ZnRJYGJ7epezwkvx5r3ktAG0Q8J5pfaOvmSmXkml29CeyaKl1eCoqSibrlWfBIAyIQJpMwKCKrrgL4gkFbMAUwUwEqCT7wqa/1g4/BUUxaJ4qPjsGyPGsw+LB4N9B8D3c1whupm7GmrFKXjHXjrNRlt9WlfhwFiPGwYVrdbsBjfMnHIhfy07G0IhwVz7bhNIJMYL3qNIp7LGVcXt4qZrO48iKUuqa9JW14g8TBhbFZqe20yCfSPGhdDrNfjmMkcThGUGB1e3AaegZuVGvyORmBctCVjZlMZW9T8cNKqU3W7UQZRX0m1jdVJ8u0FsfZiavg4 q0+jVU1k 7J1ejwZDs4T8Ni+pFemaNdM/i8K+Zppbxmd8EuN9B5s72JEricVZB8NDVRpCO9OE8LTcY+8Z081bdo+3IAaErvDCvZdUb8k2cZ9Mzr3c0jpoic4HRVOR2m4NBSoVgsD8SJEu5cxc1GovcvA4Prxy8BJPIzNKz/5FdGUbC+fqGZUJnaZgPfpvOBijoqEey7UDzw4Q3xG+RPkj0I7QWVEZP53ZecAiHSINZgpTRM+lk2vuLjFYF4czyALV0sJo8jBzKRimq44CZLxJtusm9gvsO3YDBaneUoAWqJHCyFsVh62RG9StzwPu3Akk+VASbttezXxPwTUR92OXNxQI1orlo0TrW9JgtFo/9PnlBIs1p38rQqfC8LmVa6wbG6xTRIORmi2yFj/c/gVrXvv1w88MI9L2/lNld9XhqGwkgaHvCtrNCpm2iWGykqr3bYH4ToDHIhB9PZti6/NrhruE2fOA2682HBtQMLJ02lp4wH89RDxA6Zsa8Glio0EHiDRtxV8sxY4lj X-Bogosity: Ham, tests=bogofilter, spamicity=0.005422, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Not necessary to break and check i against type->cnt again. Signed-off-by: Wei Yang --- mm/memblock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/memblock.c b/mm/memblock.c index 7f3cd96d6769..da9a6c862a69 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -194,8 +194,8 @@ bool __init_memblock memblock_overlaps_region(struct memblock_type *type, for (i = 0; i < type->cnt; i++) if (memblock_addrs_overlap(base, size, type->regions[i].base, type->regions[i].size)) - break; - return i < type->cnt; + return true; + return false; } /** From patchwork Tue May 7 07:58:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13656392 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 9FB19C10F1A for ; Tue, 7 May 2024 07:59:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 18C2C6B0099; Tue, 7 May 2024 03:59:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 13DDF6B009A; Tue, 7 May 2024 03:59:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ED2856B009B; Tue, 7 May 2024 03:59:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id CA3B16B0099 for ; Tue, 7 May 2024 03:59:27 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 806B3A12F2 for ; Tue, 7 May 2024 07:59:27 +0000 (UTC) X-FDA: 82090849974.12.5101CA9 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by imf24.hostedemail.com (Postfix) with ESMTP id CA57B18000D for ; Tue, 7 May 2024 07:59:25 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=MiyE5daf; spf=pass (imf24.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.53 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715068765; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=UYkGyIEY44IzliWmScOBxSRihmpmkXu4rpSWZq0Nypc=; b=2EQDuePtcx5ade1u5i6iFqwz7KQGoHBTEl67Xc21RNoOCmYVsWd2MkX+WKfSEbbIhynT0H SinRdkVKSA58nNXlnv+lJeUnbZdlklC8K61yxiUExIOw0IaxK7anzmjuBjL2bCrcrQ3EBs P5x4BZGgLl5NZBMfBirXW146e3jNp0Y= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=MiyE5daf; spf=pass (imf24.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.53 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715068765; a=rsa-sha256; cv=none; b=MbBbhVs8nCZXIXKyT+CFtl0LKVv10G+0xUD2wSAn9XA+V4rNOMamp5d0dwb1F7Z3fp3KfM 8UvinVOZ25fIDP+WwdklLj1uaDPCdgKid+OvlS/9+4PuRseVN/eHyTRfVRuuAduL7gMLkz xBtAEfAVvVZIvLp18VDzDr53CAJYE44= Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-572adaa172cso4829659a12.1 for ; Tue, 07 May 2024 00:59:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715068764; x=1715673564; darn=kvack.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=UYkGyIEY44IzliWmScOBxSRihmpmkXu4rpSWZq0Nypc=; b=MiyE5dafowkLh/HjEu2kMck1RNcRXZ/AtCpENNPDclzkXyMQWNVOZIGpmJAC0vSU1A CaXwgeTbLpOiGXm9QvYpNeyd9EFFUZK/LX6McQqFgmFpX7YlJE5TS2t0MythE0Jk5Rcs WF2vwShvybHBzqCopSVav4onFjVHxAMNV8mZJ2A6c0JM8AMDeVcLf6OZ5fP/OB2bxlKj rRqExhynzy0V0zNAFiK7/sn6RrBHy5AIUkZNRSubB1MvrxcoYIP3wHZNAOROPnZHAbOW nS79Be30X7TsfNMcDDOISeIGEHbYqILXBPcMOqGljQmzTfWwk+1M4P3dwJ0G0LGqcV+j w4nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715068764; x=1715673564; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UYkGyIEY44IzliWmScOBxSRihmpmkXu4rpSWZq0Nypc=; b=YQhk8bd9OeJv+SpGLh4lsCabLzIn1UWj81lVHpPnjqiTJmwRs93CcN/1nJOZnb5Tov O6R3jMQiY8exu3TtO1pB93xas43HlRActTwH4n+i9cKAwismg8B7T3aaVjOtHL3PMgM+ xSuCDsE3jSWQtjEKYKHEHak5B/4DIzTX2fF/ACnlv3MEmk+w9QW+fKmigi+7ch06q7hl RroEgxa6ESiQw/Z5BdDnS5xCeSpiTET0Q3dFwMz4/kC3rM659mb6ppE6JwdsVmOhS+Tr /p4Zx0gKDt57a3jF0+5WTQWNBI4NK6WC5M1jBfUXv+nRWBxWBxKPoIscsA5m9wonsRjK hCOw== X-Gm-Message-State: AOJu0YyYGrwALaEXcFdr9BCdMfzpoasTFgHnhMO1B4avYD0MQh1Tgsyr i/92ipHUBWrhL3KGVZ1m3bwLpBz2r5q90S+RNTXKgGkJazj9wLTk X-Google-Smtp-Source: AGHT+IH0A8nJPFR8gQ/cEbz/yDZ+94KXDKD4RxuJgtDhnXqWh6TD27232YLZJZoKFOufPfgo83esVw== X-Received: by 2002:a50:931e:0:b0:572:2ce6:f71f with SMTP id m30-20020a50931e000000b005722ce6f71fmr1507807eda.5.1715068764245; Tue, 07 May 2024 00:59:24 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id e22-20020a056402105600b0057300ba262esm1991521edu.34.2024.05.07.00.59.23 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 May 2024 00:59:23 -0700 (PDT) From: Wei Yang To: rppt@kernel.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Wei Yang Subject: [Patch v3 6/7] mm/memblock: use PAGE_ALIGN_DOWN to get pgend in free_memmap Date: Tue, 7 May 2024 07:58:32 +0000 Message-Id: <20240507075833.6346-7-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20240507075833.6346-1-richard.weiyang@gmail.com> References: <20240507075833.6346-1-richard.weiyang@gmail.com> X-Rspam-User: X-Rspamd-Queue-Id: CA57B18000D X-Rspamd-Server: rspam06 X-Stat-Signature: xbw4emwmqmfeawsj9qzebdfn4t1ewn3d X-HE-Tag: 1715068765-886672 X-HE-Meta: U2FsdGVkX1+iBPTK3+S/os+c83s2pshtP8ZaNoyQJIImVi2zweMbe1YHfRhZ8xUqmT6kEZdEEzj5W3qOpxsOZwpWFQqx8jZgSOi9Blcm89c+cOgZ4Je0dUEuJcQ3A1kdDG5pYPvkCTVSld3Q/PNtxj8m6QsvATxWATvUTtwtkloprrBGwsbYP5f5qVZjG7kt7r62I9i/GvgmaLEPI4V92Cbe9PjyyL21QxRBa3FJtsrkJCoPXNhvg9QNvKB0VoShVf6DavVzBRP5N4SmiRX3xU1gjcFm+0Z+8i9o6AiaVeFY4RkBlm41ZwMY5yOnEXsKVElFG3Uv+EfZDipBvwcRXOfdUA8Sh0SsAtsTw5ybTsi34OrPoZ2ckWrpWowZwtb++65C/CcOoqJbKpNm8QshESJCJjXiuK6bPqBEqsXRmisEz3XETalPAv5iJw8mR5fqaGROamVcorpJ8AmyzQx7dG4F2iIRFcqyvcVi/HqvIifTtnSmY1JOMgVSHy/vuTPTVtgSoLzFtE0cfmFVX5KU211NHJHfjL1oXQyZ2vPO9CUxH7330KsSo2LJMuf7xicxWLp+rJ1cAsqK/T/Xd2T65I4tWVNzIYJClJI6WlqOUYlFWgZuCfBSVh4yB8gxO/O7tjepGAgY8j+YjLyX3MTFG7tTACW/jiQ6FegcrhMFVJwnOwbgCssVKQ4L4QIHV+Qam8PFguMqWZhNQcqPUZsh6zTcysz8NBrffIBxy3Hur5LoCUYRIv4olXGUcwoL9kGFbcZtPWXkg8dgPB6R2qAaSDdU7jWPL/AuS9D9Vwha/QJeQdim+8VKgT1zGAjFriaL7nPUCFpmu13+m3w0puAf4yrfPLw4/ml31tZk7GosKf+IiA+p9SPy+SRF6v3nmDSavpwNN54jsDQ9ntX8dakkmmB96rpSK17HhkXG15g70vhl5JZwuVnBwPh/bWekJjHKFmrMG7FXv8eGcSmbwXy GQV8zeYU rlEdAXySky2BxI7MAZL3WBRYNvUjlJaszZFv6+sK1+Vwn9E9s6gpxYYNDfobW/lig+0340zeV6af9uNvuw706WhUqfKOTDqEQIpay0uj5br5K3plBEhtzjzUu70p9mxNlxT1duijfn+vlUYGPaRDzRkATAy8uECMz3NpJyqMpihRU68h0t9FhOm4sWukZ27JIggRWawZhSLpKR4iIFVTeSrgmCDPW6uXaLYf8NnWvfGNkPBpvu3OG3uNuzk8FQS0WWw97Wln/Aax1jxHURezspc+oYBdoTZlv5MBxj5c1tpnCxS0bd5UkCVeu2e8lyN2BSpFtWy7YO7lBskDWcLI19CMq2ZJ1visAO55EjTDBS9fMdnKl9kRBdq5zz8QXsR2Aiy5FS9VsvggD0agzgnHDbSGAd49cBPG10I47OSLV9aHWystrcSfGJA6saVf2boU+8dwAOK2SudyFaKoQ3Fz6HJn7eh6rXIDgRTNJwYOt8pm3BieAC9KUTj/3Mu9SaUMMQ7f/JAVfOQgSoW72+pBvQ1MqKOSL4wrOwofKHApfx30HIYs= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000269, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Leverage the macro PAGE_ALIGN_DOWN to get pgend. Signed-off-by: Wei Yang --- mm/memblock.c | 2 +- tools/include/linux/mm.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/memblock.c b/mm/memblock.c index da9a6c862a69..33a8b6f7b626 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -2039,7 +2039,7 @@ static void __init free_memmap(unsigned long start_pfn, unsigned long end_pfn) * downwards. */ pg = PAGE_ALIGN(__pa(start_pg)); - pgend = __pa(end_pg) & PAGE_MASK; + pgend = PAGE_ALIGN_DOWN(__pa(end_pg)); /* * If there are free pages between these, free the section of the diff --git a/tools/include/linux/mm.h b/tools/include/linux/mm.h index 7d73da098047..caf68f5084b3 100644 --- a/tools/include/linux/mm.h +++ b/tools/include/linux/mm.h @@ -15,6 +15,7 @@ #define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a)) #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) +#define PAGE_ALIGN_DOWN(addr) ALIGN_DOWN(addr, PAGE_SIZE) #define __va(x) ((void *)((unsigned long)(x))) #define __pa(x) ((unsigned long)(x)) From patchwork Tue May 7 07:58:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13656393 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 EFC22C25B75 for ; Tue, 7 May 2024 07:59:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 843AB6B009B; Tue, 7 May 2024 03:59:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F21B6B009C; Tue, 7 May 2024 03:59:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 695716B009D; Tue, 7 May 2024 03:59:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 49DED6B009B for ; Tue, 7 May 2024 03:59:31 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 08219161011 for ; Tue, 7 May 2024 07:59:31 +0000 (UTC) X-FDA: 82090850142.01.BE7775D Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by imf16.hostedemail.com (Postfix) with ESMTP id 3FAEC180017 for ; Tue, 7 May 2024 07:59:28 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="PcWxl/TE"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.41 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715068769; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=y4x8iDNr1t1aZlUE79+8+zrL8CGa11yqdCcR54IvYps=; b=x2pvFrOPg69JGh2VM2qFHY52FvuM5dBNz0ApWd3QaQ8SZdNZyLwUfAqW2joT62jyCY0ZgS zyzNUempREuqxgKddp/ZTM9lr9F8qFGHdg/TDAdBQhHCUYJx3irGK/o8OZjP7p2DJeDODo /HtGkAcz4XLWRkHBIUZHyfGeORaKRKs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715068769; a=rsa-sha256; cv=none; b=dOrIvfDkULu9aIfHLZm58zUsNT0z17Awulgukv7VYxCzH0JbnGw+oJ8EAPv4gp3DOprlpl A81VMwrTjxFIuRhHpd2GqtlGCQCAMcDhQq77ihjwAEo3fzztv01b2FFL6Owe9MGRfVgemb +eIxEvUQHgciQHy/r9lKu0UwFeA0AoE= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="PcWxl/TE"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.41 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-a59a934ad50so617278866b.1 for ; Tue, 07 May 2024 00:59:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715068768; x=1715673568; darn=kvack.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=y4x8iDNr1t1aZlUE79+8+zrL8CGa11yqdCcR54IvYps=; b=PcWxl/TEetk7dQZ9FYwo2bZ8EzXbPBUSYzYgT1yFG+RLpzKDYiiQsJxyhpG8NA3AUl KoSEivJmAJh2wD7Vnn62Ak9AS82FcfYrWJZCo5+5edTkZwsRqHtNvgHy+Ygy+XY+/IWj yzK53dC4MCVzQUZ1VzRXd5DZ0C2ySsxSjaSx22koDL1jm0mJLZCPckkCCqiA68+p4DvF E8f+1xy3HOpaarfqYxfdat0eg+Fv8yaoupMkMQ6ddnR735ZRbosiVrX2TW6Udd3bzbYT nHYkOr3kSIsVAN4gwJaVVZB792hJBc6iIDflmwrX+qTfk8L2PmLnqI+lvaK7o7qN1ju+ IMKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715068768; x=1715673568; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=y4x8iDNr1t1aZlUE79+8+zrL8CGa11yqdCcR54IvYps=; b=RY8kU5VjuwRXObxmeKb59ZqIO2cSenoOSi1hjRLSaoKt/uxpvr5xzivOJJpPxv29EN mdERdsIJKYI0zLrhliwrcnbFOzNnwknV27mVT4qqou0+JDY+ArLxB1KWILaF20oaj1z+ Nk1/kzCqykRT/Tfkdc/lEY9jNEr4PkyzX63+3Z46dsaWVF1EeYFmp/eeT2WNuh5v7zec nnsKD6rXRcwmSfK+XZu3SmjXoBwt/lULNY5AhfVLZX686Sb1jam/R1qefk/eA1tbWXHq wegGMoaX4mhpWee1c/jr7ttveyUCTOMHasRuuc71cQxNUzG4ixJM+xGMcMyAPQ9aiK0/ bc+w== X-Gm-Message-State: AOJu0YwdLOpM6MbiayRgv0AYqNl6eY8Cb4wOFDmM7RAXVvO86IK/YSGp MJBs6/pmsNc55A1UG/5xxCHu2+YnXLnY6MhDRziiQ7iMEeomFmSc X-Google-Smtp-Source: AGHT+IEieQ2vBsgQuz3NRFuCTbBh9IvRqDg2LDSf6fOHJOHMcDxfPau4zdinDHZgFSuLeBUXtbQOyg== X-Received: by 2002:a17:906:f34e:b0:a59:a078:9e41 with SMTP id hg14-20020a170906f34e00b00a59a0789e41mr4963705ejb.45.1715068767601; Tue, 07 May 2024 00:59:27 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id y24-20020a170906071800b00a59cec38bf3sm2094505ejb.52.2024.05.07.00.59.26 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 May 2024 00:59:27 -0700 (PDT) From: Wei Yang To: rppt@kernel.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Wei Yang Subject: [Patch v3 7/7] mm/memblock: default region's nid may be MAX_NUMNODES Date: Tue, 7 May 2024 07:58:33 +0000 Message-Id: <20240507075833.6346-8-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20240507075833.6346-1-richard.weiyang@gmail.com> References: <20240507075833.6346-1-richard.weiyang@gmail.com> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 3FAEC180017 X-Stat-Signature: dmbpzyprsx8pjt767t1dhn9k8g8zyahq X-Rspam-User: X-HE-Tag: 1715068768-581396 X-HE-Meta: U2FsdGVkX18Rqd5vs6E5bO07zgMTjXb/ZM79R57l8XMbhQ3J3qh/+oucxV2NbCB11PEZNIdxSOFtE10vxfeN/ZjVzAzJ9QPc3+z9x2vr9EgAdoIe22oqg7V6ioxAsFYTZTYGsBYjVPJokmCxATt9s1/6wgMqjO2qcLZbjBjVpW/nclfgLEV3Kzq5RDaFvuPK50pTJ0oBlmHW549Xg/GUZ1Lf1UQDHHe1eiFsvh865wF6kuej3wKDrbeqjwQBIPm5UTQedlfoC9QbFZiTCnysm9x5UeGMmiuncpgP5aB5m0GAC/HZb4gN/DoZ0pc/R6UjzE3MatOIL76j+wEgYfgndKowppCqRQwGZOYRG9QKXVKQwr6ufSz6thlK811FS0sUTFKq3MCWfQFrcCHDc9XwqeRzfX+XsL0qFo4w3Cmirhb0bhuWeojpai/vkQPVxv1xxVL8ZCD2VOXInicCgSqSl4wGkH2o4G4SEBqIbti4aGUBh6zdaSOtCGXuX7JkCQ88OvZnh8OwKa0DD65fgp1SR2z8j2JOncXx80kwmEkWDkiVJrmr4iU4LdtVzEq+bc+ne3SN8yRLfNk/sLKGpMjpvqRIlliuH6RPw75+kALk3XHY6k9RzIvE5q2ZSwh+I7k9+t83cnXDjVoKbm6ljQONe7Ql+55QK5EiHrcCU7Tp//98LW91gCVB8B84OyfFAmM5QhQnln1/k023CdRjV0pnFmw+xl6I/sHAnU3T/Elr9JTr8NwVgC+kQJOFMPmnMvqQXYc2KQnh5seHVNiHUYIVke3PRWZXcs75QEzsdvaOGzu4FKnAlZg9OUp1i0o0MY0EZmb4BIxN+5Z86RQJTTRmDlwHQ32GsBvteiOCNfHt+0Iu/T9rh7E26eGbsFsSSHYprPXF/POYXxP6e3qRwlKbHY4cQnj4pptm+XYpdyMNuX35vNCmxjMUGwtbLJ3FI77uHQaIJXChPn/ax4YFBVI d8ycCqRG f+lFz4XxTzJP6j04BM4EbgoZghC5c3Kt6knJIizvcwoIkTn3J8OdwpXyJhXWaph8+Dsd6X4nyWhc2zXYB3CDJ6xaOiezZ+cjH9erLEdrYzLCF6gFWAF1Q1xq0dzrsLiQLmvYptgOqlJRC3UzadCgE6Oj69RffHI/aqlETEoJh96OQR9CLaGly6FxU81V7sNndWXp8Elww1HPeh6WrYtzq1u/4D/NjKyGFlnqTlXl6picXOkHhfQaqUMqmHCWb7t0Jdt7RElKJUmEPW8fxiyfc2viKU5kZmipxCxenq5FaVb9519ewHF+u0l4PKu+SwcId7mdcu08kwF/592MEisU8S1JcanTt/qi6WV3CYdhW8woc0oHKYovKo9UC5aVexHqKTwx9NU5bGrLoTTYCwI8voKc/rxXBEA00QeeeqK8ItSi/PRD0id4T4NhxUBZJQgujsS1aE4hJPoRpqd0OTN1p+cRpsmkXkxHLcJKJWeJrcqYUijAKc99XiH3C2nZf/5GnRXnyGXFcB0Yc/fd4E7ghoRbEFGd0WvPJHQ8BYVf8sPSGvEA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.010283, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On x86, the call flow looks like this: numa_init() memblock_set_node(..., MAX_NUMNODES) numa_register_memblks() memblock_validate_numa_coverage() If there is a hole, the nid for this region would stay to be MAX_NUMNODES. Then memblock_validate_numa_coverage() will miss to report it. Signed-off-by: Wei Yang --- mm/memblock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/memblock.c b/mm/memblock.c index 33a8b6f7b626..e085de63688a 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -751,7 +751,7 @@ bool __init_memblock memblock_validate_numa_coverage(unsigned long threshold_byt /* calculate lose page */ for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid) { - if (nid == NUMA_NO_NODE) + if (nid == MAX_NUMNODES || nid == NUMA_NO_NODE) nr_pages += end_pfn - start_pfn; }