From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out30-124.freemail.mail.aliyun.com (out30-124.freemail.mail.aliyun.com [115.124.30.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 40B91225A3B for ; Wed, 25 Feb 2026 02:05:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.30.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771985114; cv=none; b=EjN5+8LMb1/Dg6II+r4SjDqsygl14dY0/Bt7/mrYfwIFL6xHqwkUxa8eNfRZlOiFqrWFC3uG6DRfU/N8dnUW/0AYsefXLo64lRm3RijdX4UH7b9YOQ+pvAE7s/B8purM8ABVLvJuhWmLpCpucwFUhdRaGOVdx/yi/NaCT3MW1Jg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771985114; c=relaxed/simple; bh=/OmwkJSgkvLKVJ69+Urxmg05tAqEgdYnWCPirUgjCP4=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=b9CssP5RYXfwkYZz+At0n5VWIPNJ3oxVTRi7I4HTSjKH3Ka33b2Q1DyP+xhGT5DwVGQbecojc31XSszOOfN6uWOUViMQOeohpGJqe0MdzX4bYPKHeBGYY+NetmUBnskB5bjoU5qKSwqaIDUxtnN4P+qdIB3ntkxxLseW8ex07v4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com; spf=pass smtp.mailfrom=linux.alibaba.com; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b=SvLzBY5x; arc=none smtp.client-ip=115.124.30.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b="SvLzBY5x" DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1771985104; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=i8GFd9DZ5Mzak01ikJ0Ii/rzl08O/AE6cxsXIoEpx8g=; b=SvLzBY5xF+3uQtNjb6JpDvBM7KcuGFX6Gy0Z8K6x9f3keMzhbQsoiOxJr04U2aWfAR1y76Ecq0OYvl5r6dKuL2hHoLigcs2xeED5EHRX387k2L4iyUMPDdC8oUjQj08WZ6unbjQYNcOyO+ac5FNrsb2OLWHBq34rZlO3Aw3Tx44= Received: from 30.74.144.109(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0Wzkm-vc_1771985101 cluster:ay36) by smtp.aliyun-inc.com; Wed, 25 Feb 2026 10:05:02 +0800 Message-ID: <04c429fe-303f-45b9-807f-7f2b745c273a@linux.alibaba.com> Date: Wed, 25 Feb 2026 10:05:01 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 3/5] mm: add a batched helper to clear the young flag for large folios To: Rik van Riel , akpm@linux-foundation.org, david@kernel.org Cc: catalin.marinas@arm.com, will@kernel.org, lorenzo.stoakes@oracle.com, ryan.roberts@arm.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, harry.yoo@oracle.com, jannh@google.com, willy@infradead.org, baohua@kernel.org, dev.jain@arm.com, axelrasmussen@google.com, yuanchu@google.com, weixugc@google.com, hannes@cmpxchg.org, zhengqi.arch@bytedance.com, shakeel.butt@linux.dev, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <58e1883fe084d8284dac68dcd570f5a6c56c0abc.camel@surriel.com> From: Baolin Wang In-Reply-To: <58e1883fe084d8284dac68dcd570f5a6c56c0abc.camel@surriel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2/25/26 6:03 AM, Rik van Riel wrote: > On Tue, 2026-02-24 at 09:56 +0800, Baolin Wang wrote: >> >> +static inline int test_and_clear_young_ptes(struct vm_area_struct >> *vma, >> +     unsigned long addr, >> pte_t *ptep, >> +     unsigned int nr) >> +{ >> + int young = 0; >> + >> + for (;;) { >> + young |= ptep_test_and_clear_young(vma, addr, ptep); >> + if (--nr == 0) >> + break; >> + ptep++; >> + addr += PAGE_SIZE; >> + } > > This may be a nitpick, but could the --nr thing be > stuck into the loop conditional? > > Something that looks like an infinite loop just > seems wrong for something so bounded. It seems that people have different preferences regarding loop patterns. The current code keeps this loop pattern consistent with other similar functions in the same file, as previously suggested by David [1]. [1] https://lore.kernel.org/all/3d5cb9a4-6604-4302-a110-3d8ff91baa56@kernel.org/