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 CD749C4345F for ; Tue, 30 Apr 2024 01:49:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4D5346B0092; Mon, 29 Apr 2024 21:49:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 484B86B0093; Mon, 29 Apr 2024 21:49:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 325716B0095; Mon, 29 Apr 2024 21:49:11 -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 13A686B0092 for ; Mon, 29 Apr 2024 21:49:11 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B0E36140214 for ; Tue, 30 Apr 2024 01:49:10 +0000 (UTC) X-FDA: 82064515260.18.A257C52 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) by imf25.hostedemail.com (Postfix) with ESMTP id E05BFA000D for ; Tue, 30 Apr 2024 01:49:08 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jg4AxVgk; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.51 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=1714441749; h=from:from:sender:reply-to: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=nE6LUtTDFvYJ3yOWRmRxMBjuPR7NW+FhUTkCYK3hllc=; b=RawUj4n/MXJppeEhw+6WnaPM3Co3sLxQbg7hISVsASIcHANjgpeVXTWqrjV+6LWol8SgmQ 1vUUFuU3Vrmu8iMFttDXS1H1TDhA6ePovBAf7z5rz3lT1TuFb9FVYbAmdmreocHyN04wn8 kiggh1j15ODa74rwqFI7KCcrMHj4xsc= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jg4AxVgk; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.51 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714441749; a=rsa-sha256; cv=none; b=zsLeetTfPtUPlnaSBC9PsU6Bhf5ZERmHURdyE4SyYaEuOP7ZFjXvRxRFyitYuonzI2wmU4 /Ohl+v5thF+h7bnT7ByijscE1nIEdTuk1FHCMk/kP1IW4G/SgQaViWUKh4nvdfHgvQ9Or/ 5QdzdqwN3qfD0mlnugfOmktfb9ZpKvo= Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5708d8beec6so6383292a12.0 for ; Mon, 29 Apr 2024 18:49:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714441747; x=1715046547; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=nE6LUtTDFvYJ3yOWRmRxMBjuPR7NW+FhUTkCYK3hllc=; b=jg4AxVgkftEGw2DvaWZC+6f04DA+Ip9/Ani/HoXKbGffcKptnBdefDTqnkOk847dRN qk1c3Pt9locwDSHEABDRpCXOmvzF/GNAiLCa2VXk8rSh6yy1pVE6yNMwh4lRNx16G+qN hfjXd12PNGrTol9Y3/hnrkqPb0kBBq4OBnQ8PYBLiUzbdQIaDEogQE6CKkQg5yopoUlN yuOzn9os8NVG46/7IvvOLHvEiGlCz6f0duyoBnyVtmPK5ospmKrUdbI/Tbfz19ZOC8cA MImGhiPUidEO/EkEDrO+s0fvYK2UYjRKQC24WarsSXQjHgLEzuaXE2Uq9PHjNvOnnoUw JURw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714441747; x=1715046547; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=nE6LUtTDFvYJ3yOWRmRxMBjuPR7NW+FhUTkCYK3hllc=; b=DXflnm2mYn9tkjp8KRNL309wl0OZ/1UDBPWxGNB2vZprAB5BqGx9YfPmUG1QCBpyLP VAjdPe9oP2OYurwq84HkZay848Z8zQfgtORuNgU2V1w87Itc1Q1ZmOtrv4aje+LU/X0B Hod1xgMPglrHk7dSFa+5RjCPg260EKEc5s8aSyD+dGWxqto3nU5Rpcm18KQlNjyswvZG OW0gMPkYvlqlu9DHHSYpkvX8faeFciK7iCkbeMTJBvdECKo+5WNEdKZpiG8fBDB7sKg2 nA1p/N5hVfFZsRw1ix0l0cq+O4FVeFGuKphR+SkfVdbzghYrd4/t/VDAxCr76sfGbn6s 6hPw== X-Forwarded-Encrypted: i=1; AJvYcCXNP6lmPZYpZfO/kq7QfA4Km7KFHr5DfeOHK3LD6I1Gb98Rf1eRNcWCsdYZSVDRlv+cPcqUZdw9sUQFR3mh7iFAjjg= X-Gm-Message-State: AOJu0YzyDBnlrTFsOTgfwpFWHP32cMxDzXELO3gna8xhurHG/aw3szo3 n9sFxGdcqTEfKt3nA4we8ZXwxclCfpFiiICxpyHmrrsz3y9Klis2 X-Google-Smtp-Source: AGHT+IFN0qdo3ij9paVqT540g9FBV+S5TKouBuKiwDzOiVPHvD0gTU3i/i09mzo3xO97uXvroUkH9A== X-Received: by 2002:a17:906:c202:b0:a52:5493:a0b9 with SMTP id d2-20020a170906c20200b00a525493a0b9mr10393126ejz.39.1714441747113; Mon, 29 Apr 2024 18:49:07 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id f20-20020a17090624d400b00a5575cde7cdsm14152461ejb.220.2024.04.29.18.49.06 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 29 Apr 2024 18:49:06 -0700 (PDT) Date: Tue, 30 Apr 2024 01:49:05 +0000 From: Wei Yang To: Mike Rapoport Cc: Wei Yang , akpm@linux-foundation.org, linux-mm@kvack.org Subject: Re: [Patch v2 2/8] memblock tests: add memblock_reserve_many_may_conflict_check() Message-ID: <20240430014905.p2qlmjilkampka4c@master> Reply-To: Wei Yang References: <20240425071929.18004-1-richard.weiyang@gmail.com> <20240425071929.18004-3-richard.weiyang@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: E05BFA000D X-Stat-Signature: kr7q4rxosfs61ozq7haqpp8qmn4jpno8 X-HE-Tag: 1714441748-485232 X-HE-Meta: U2FsdGVkX1857IjpYplNJJ3ZnZrp4tbPeS0PH2073Lcn62ZTqPMFm2mTLalngN7XF5Ao3QnM3nXyaNQDa/kpFpHOdR4sQsv3+/+OX2A0NYQc0OO4U9eaQc63moKHKaY5QppVzBxVHPY3uIHqLSP4muEegGbYy8KS3Xi8cMXJeZWbszuIvpjo1eB7dUGQrp4nBNMsmaKam314kGuTDGQ3Oe+PDJTqwnqTOyOWRv/nRnTNZAJQSFutoYYEw9DfqA1rjwrPlw+FTk76XSV6o0twiyIdqRRsOhg6zaLuUkMddMpJQ/wPcTRQi5r0YbZ3i05LWw7MpQbuVwr/YFs1S2W7DpTQ/EooxUi2cd01N+A6F+kYXAFx3DQLHI3hE4ek14ehR6ZJsIcBkDx97jxjztLA6UDwXOxKnQAtofooALs5ujdj0gVxExvDIQo+fNjxZvsMrSIuAtKWobxE0wzGziK8RPh7iK5iiu8WxuccPEjfXDUIn+sWjtB8vM7I9E+9+k+4yXGy7eTHvk+6BYjeKJhbHNlbRgVnnAOcqHHQOJD8wLmA5+iFtXqhdU6eyxNhNBcokzlrv5Lr2HS6TdVLVEGQ2znE7Kv6b9mU0SAyrOQGbHhIZlDEB6M8n6oG4EOU7NU6Z5tMtUaCotUENR45KC/LKHUD6GIGIoqAVygVhmhoVvYXWrbp95B9N/g0AyIim1r7XABpSp1C4Kfz7lwZ+730D9vFD73M6R84ARZ7ZMURLxSg7lalVHR1i88Kf50DGZjHLK2ISdz5PZWz7Vr4PRM+pk7Mx6a3Zr1U7vxAeeevy6lWo0+7hlP5won4JAxxr9dx3p2T88MVYyXAMjvQrTSe/i2umlCkkL2eW1zq8FmyGQ7QMvBV5rkEtW8D5Lm89FegnI5voJJ0tWOTl44jjmrxGW7dNJZx8SvFrkP30Hr/ZvJzXLcC3s8Gj7TDm6ubBmMTPQh/FaXxBwt7wmKl3XV M+1rrukq E8bs99cL9wYTHZYcBY2CWe4nUBV2AK8+80KjLmM2hyvLdzrfEBs6615H6kMBYvv4P2svU/mbbv2mZ8nIkMiQedmCVE+zgOQ33aCsXkxZTa9RZAMScy8y/JByY6nSNdS0bj4VI/M834vBAstmbo5TW5UcEsYP9S26FOLPIOKaXRufv9XQ9mePfIt90TEqQ2xCunWjZIncvnk0MXG6nlwb/5fddJkARWxvM+R/gXvd9+t1CWaLQyqn5x5UDrlBT7Lojg+GJrdbJVbeAKbSw6A8dCnFCi81PiLu60F6YeMg9SpGf1nCpkltWMIlZLxGFHVfMiSZB X-Bogosity: Ham, tests=bogofilter, spamicity=0.012844, 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 Sun, Apr 28, 2024 at 09:40:33AM +0300, Mike Rapoport wrote: >On Thu, Apr 25, 2024 at 07:19:23AM +0000, Wei Yang wrote: >> 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 >> --- >> tools/testing/memblock/tests/basic_api.c | 123 +++++++++++++++++++++++ >> tools/testing/memblock/tests/common.c | 4 +- >> tools/testing/memblock/tests/common.h | 1 + >> 3 files changed, 126 insertions(+), 2 deletions(-) >> >> diff --git a/tools/testing/memblock/tests/basic_api.c b/tools/testing/memblock/tests/basic_api.c >> index 1ae62272867a..748950e02589 100644 >> --- a/tools/testing/memblock/tests/basic_api.c >> +++ b/tools/testing/memblock/tests/basic_api.c >> @@ -991,6 +991,128 @@ static int memblock_reserve_many_check(void) >> return 0; >> } >> >> +/* Keep the gap so these memory region will not be merged. */ > >The gap where? What regions should not be merged? >Also please add a comment with the test description > >> +#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. >> + * See commit 48c3b583bbdd ("mm/memblock: fix overlapping allocation >> + * when doubling reserved array") > >Sorry, but I'm failing to parse it > Sorry for missed this one. You mean how this case is triggered? Suppose current memblock looks like this: 0 1 memblock.memory +---+ +---+ |32K| |32K| +---+ +---+ 0 2 128 memblock.reserved+---+ +---+ +---+ |32K| |32K| .. |32K| +---+ +---+ +---+ ^ | Now we want to reserve range 1 here. Since there are 128 blocks in memblock.reserved, it will double array. Now memblock_double_array() will "find" available range in memblock.memory. Since we set top down, it will find memblock.memory.regions[1]. This conflict the range we want to reserve. -- Wei Yang Help you, Help me