From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 03B4322A4FC for ; Wed, 24 Dec 2025 09:23:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766568226; cv=none; b=pXbZ8YpkYo+pL347CpLqbLPlD/eOHl5nJ6ytAFfsdbFQ3OQsK3awOwo2nDq1de1hD9cEO+yYrLZNOz8C0AcW0EUSWEc8or5k5c5KnlQWG4Q4JoRlnovopyW0RXrQGjdmuvyZyuqu8Gf1QgUsMIyKOxj3Zwr+QDwCza9NCGjK65k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766568226; c=relaxed/simple; bh=Hu47fKA3KRJKTsYAYY0iBnwLXXrLEtBGHBNFL5O+Nhc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D6OOhVYJhn08XI5GSeUSWcRtcHQIx9eJFdLpntfxGT0sl2+G+2wwYhh7/Bx147iN0anYCm3Vd5beKckbyTKQWJyAEi+epV55K03pl0V2150bNGtbRzlmtvKl9SqueS5aPSmPaLX6BK+ovCFg6/3n9KRTFihUE5qupowkVNvf7ls= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=i7xSfo+/; arc=none smtp.client-ip=209.85.216.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="i7xSfo+/" Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-34c363eb612so5714722a91.0 for ; Wed, 24 Dec 2025 01:23:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766568224; x=1767173024; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t8cH2GMZHe/+WLS2GkOOrIpCwjIA+oyisAtZxouh6zY=; b=i7xSfo+/Gx1ccmplnU0XszDaGQqF/7LJZDExzh5AEWM/PJVianqCaNfXioirGoJn9Z epXXGoe7QhXWotGBomqIfNXeg/BGNEE2rKg4vv6gqBB5sgoUHPC6m73NdDUHseA9/tPU OS2XcaxI8PT1SsbZyxPwXk+aFhMqDsNM9dj4dICWu70vhJt6Dcixnc54ItTMnH/aXwre FSo7kGdLkLDXiuETvw5BHy57L8Ez6QsQtBZ2KkWmofaZC5MaRTpk1K2oUjl9Ji2RZr5+ W3ltUyOsTYX9cdT7XdAUhmBL4y4cDdzr6kDvbzF3JqyuCJHUcYMnsrX5cYByLaT74DiD MW0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766568224; x=1767173024; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=t8cH2GMZHe/+WLS2GkOOrIpCwjIA+oyisAtZxouh6zY=; b=v85Douo5iGKax4/lDuDWVvDygx4n0TiysHNQClQw8yBl7cPuP+1bCkKBoPmYJ3JRu1 iZksdglmZA3sBkUgx1NmgKfyjSMb2LeyJlR61qOMcTMyOTkCVYkc0f+sdUINloK1L/bz 9KbfacwP6qdMBVt59ce1meMKR7zvU3uo8W7GCqxwLnEQmxqmKSCqsxkKGoFBzQDtPvRY sU1tTFWF7uy/zfz/hrEte5aMg3mOWO0of1loiTu9/aZr8J+p6I+HKzdcO0xrDFgFKnN2 djMMnapJ/IeIcgFWL7d944brzSobaCiyQMKAsrGBHNBVTeKo6JZoe/azp8os19dbOHRI 9iqQ== X-Forwarded-Encrypted: i=1; AJvYcCVqOCZavo4l1dSrjExF5eCqqxyl7NQJ+3m+ndeen6v0JNG4R9l+oy2WL+H3dA+yhZpG8e0SbS96WHnIHIw=@vger.kernel.org X-Gm-Message-State: AOJu0YwGfsG9LtcnrB5B3gBnv/VDzcdpzokgZoQ9GjvtTAszlyH3KH8O 6oStnM8YFtxuThxjbF6ViSQEnibDikqZZsYLiNfj8vZWQr+nWP94kZCW X-Gm-Gg: AY/fxX43PeJ1P/ErlD8I+XhbemfYSGE2+JYWcrVu9U/njWuRAUHqA29CGHB/mYns9L+ iaXExpwPJpFIxKuvmFQV5UXM2tYqeeTSs8DZfYV7zgT8SkjSa7zOHgLURJ19/DGXG4YMFRE6Wfe zHAP5DfiUyS83Z3t3AucSOe8fMDaWEqBhhs/dx8wBX5Pf9OFSU699mk4JfDkDKCD9oyJj6Na00B N0YfWCER4kjeghdda90bDKnebYK/TRf2qgus+tulyRLk4MYKI+OUTw94AG5/EnT4IL+RwX6NXRi s79x7RZ7huLMpQrfXtF2QuCAgXlvRCxKOQgnDvq5v1FgWC2gbxEF61OCIL5BLd/QR7QCnH2yUu0 8c+GkcEYmgweah6i1WJY7YoTDota+kkG2c8mfeY41QNGpXqqqYvE+1Cx8coiWNpmCiS5hq4Y5op bwIfH4egigmrwOef9+J8Qf0KNN1yZ6DgydBBH0bSUl5ebtGZN/OXkQdjNj X-Google-Smtp-Source: AGHT+IGfz4jE0gyBAYJue6cPvqgMbDaJgPDREtcU6RY08FJIcWaNTfVbyhSvT4y5erQfC+/bhA7XkQ== X-Received: by 2002:a17:90b:3ccf:b0:349:162d:ae1e with SMTP id 98e67ed59e1d1-34e921f7eb0mr13103802a91.33.1766568224256; Wed, 24 Dec 2025 01:23:44 -0800 (PST) Received: from EBJ9932692.tcent.cn (61-221-120-112.hinet-ip.hinet.net. [61.221.120.112]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c1e7bc68ab5sm14625908a12.17.2025.12.24.01.23.38 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 24 Dec 2025 01:23:43 -0800 (PST) From: Lance Yang To: baolin.wang@linux.alibaba.com Cc: Liam.Howlett@oracle.com, akpm@linux-foundation.org, axelrasmussen@google.com, chandna.sahil@gmail.com, chengming.zhou@linux.dev, david.laight.linux@gmail.com, david@kernel.org, david@redhat.com, hannes@cmpxchg.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lorenzo.stoakes@oracle.com, mhocko@suse.com, nphamcs@gmail.com, rppt@kernel.org, shakeel.butt@linux.dev, surenb@google.com, vbabka@suse.cz, weixugc@google.com, willy@infradead.org, yosry.ahmed@linux.dev, yuanchu@google.com, zhengqi.arch@bytedance.com, Lance Yang Subject: Re: [PATCH v4 1/3] mm: pagewalk: simplify hugepage boundary Date: Wed, 24 Dec 2025 17:23:32 +0800 Message-ID: <20251224092332.53214-1-ioworker0@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <62a2d7ba-e7c3-4153-b227-c08802ca9e1c@linux.alibaba.com> References: <62a2d7ba-e7c3-4153-b227-c08802ca9e1c@linux.alibaba.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Lance Yang On Wed, 24 Dec 2025 15:50:34 +0800, Baolin Wang wrote: > Hi Andrew, > > On 2025/11/28 15:01, Sahil Chandna wrote: > > Replace hugepage boundary computation with ALIGN() helper instead of > > an open coded expression. This helps to improves code readability. > > > > This was flagged by Coccinelle (misc/minmax.cocci) as an opportunity > > to use min(), after which the boundary computation was updated following > > review suggestions. > > > > Found by: make coccicheck MODE=report M=mm/ > > No functional change intended. > > > > Acked-by: David Hildenbrand (Red Hat) > > Suggested-by: David Hildenbrand (Red Hat) > > Suggested-by: Matthew Wilcox > > Suggested-by: David Laight > > Signed-off-by: Sahil Chandna > > --- > > mm/pagewalk.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/mm/pagewalk.c b/mm/pagewalk.c > > index 9f91cf85a5be..9fd59d517f37 100644 > > --- a/mm/pagewalk.c > > +++ b/mm/pagewalk.c > > @@ -312,8 +312,7 @@ static int walk_pgd_range(unsigned long addr, unsigned long end, > > static unsigned long hugetlb_entry_end(struct hstate *h, unsigned long addr, > > unsigned long end) > > { > > - unsigned long boundary = (addr & huge_page_mask(h)) + huge_page_size(h); > > - return boundary < end ? boundary : end; > > + return min(ALIGN(addr, huge_page_size(h)), end); > > } > > Please drop this patch from the mm-new branch, as it causes > 'run_vmtests.sh' to hang. Specifically, it leads to the system hanging > when executing hugepage-vmemmap test, because the program falls into an > infinite loop in walk_hugetlb_range() and cannot break out. Good catch! The problem is that ALIGN() returns addr itself when already aligned, causing the infinite loop ... > > This patch does introduce functional changes and makes an incorrect > assumption that the 'end' must be aligned to the hugepage size. However, Yep. This patch is not equivalent to the original code when addr is already aligned :) > this is not necessarily the case. For example, see how pagemap_read() > calculates the 'end': > > " > end = start_vaddr + ((count / PM_ENTRY_BYTES) << PAGE_SHIFT); > " > > Revert this patch, mm selftests work well.