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 BF576C54E90 for ; Thu, 22 May 2025 12:32:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 256416B0085; Thu, 22 May 2025 08:32:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 206E96B0088; Thu, 22 May 2025 08:32:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 11D2A6B0089; Thu, 22 May 2025 08:32:47 -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 E7A676B0085 for ; Thu, 22 May 2025 08:32:46 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 6F87E81325 for ; Thu, 22 May 2025 12:32:46 +0000 (UTC) X-FDA: 83470482732.18.768C0DB Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf07.hostedemail.com (Postfix) with ESMTP id CE8EF4000C for ; Thu, 22 May 2025 12:32:44 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="ERBds/35"; spf=pass (imf07.hostedemail.com: domain of rppt@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747917164; h=from:from:sender: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=XUGsTyhYcWH1amUVGlPAd3byMM0P4q2+J1JLXAA+fmk=; b=XdSEUoUpqlnSmW1uNgALH3VMoBwcbLXVeQ8zsaAmpi3zsGA1CoAOVJLlvW8LKbojoep4ms dZMaJlmLZLFLDnpZVHg2raTRQ0Prp/IIptwhF8xWR8Kg0jqRemq/AdJRYVE8Ro5sGp6yMP eJzHJcm7nk6Jdi5HZojTX1a2gxnU0pE= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="ERBds/35"; spf=pass (imf07.hostedemail.com: domain of rppt@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747917164; a=rsa-sha256; cv=none; b=fpeyMpOC2AkglwNX8BXLH/4/4EXb5B2h8Wwkat2zVtR8DpEcijEPvM09c+rRtWSixDPWyn 95yWRH7tU4iW/vgEJa1vmwYe0xVj30elPXKgPCOCEqmExMPBb/b59yPlDPqJX0n1bCsQos HpUZBVYx8CjCa0oC66HZ2W8O/P13cnE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 13D5CA4DCE9; Thu, 22 May 2025 12:32:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 93155C4CEE4; Thu, 22 May 2025 12:32:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747917163; bh=r4cYLZUDYQDfzfjRP5THCg2REgGtHgRwFNQ7nd54qMc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ERBds/35Smq1+0+h43mlQ02p5HXfQQqlX2clTAQLhyKzR6NvWTyBdRzW5CGAYieJK BOlnP6uxtfR114DLKpwYkJewkqFFYRc9F7c6EUjbDee6Xue1i0hS88l2AOdEZGdB3j UxcOflPldjgPQwzgCrYw7e4vlq8HLUG82qT1LhB07+EDjYXg3oclTJO4Y9VI0b0P50 aM5jMhwdk/u3mph9iJmbcNceRmoFa/NsHQLOcZo8XNsC0nH0cnqpvOSg6I4h07AfM/ y3b7MA30fWsUMs6AmRVuemMrWzBH0qWKzm1I9V0ncBDZQ2QuJCBJZ56PGXLbGjKUnz /TrvL6a1NPpjg== Date: Thu, 22 May 2025 15:32:35 +0300 From: Mike Rapoport To: David Hildenbrand Cc: Lorenzo Stoakes , Andrew Morton , "Liam R . Howlett" , Vlastimil Babka , Jann Horn , Arnd Bergmann , Christian Brauner , linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, SeongJae Park , Usama Arif Subject: Re: [RFC PATCH 1/5] mm: madvise: refactor madvise_populate() Message-ID: References: <96503fba082709bc4894ba4134f9fac1d179ba93.1747686021.git.lorenzo.stoakes@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: CE8EF4000C X-Stat-Signature: reqfzs6e3ugzredx8rs53n398zfm36z4 X-Rspam-User: X-HE-Tag: 1747917164-957637 X-HE-Meta: U2FsdGVkX183is9Vg2v8Mtt87WTJYJxYvQeHM5WxtVWL0hHJly90CpXsNzd9fyWmNsjaPNt1LxMPxHT7yOMeE4TTFrOI0SZbN4yfsvmQHGYLBswmue1pgq02hxZG+YIwLBsmxUw+om8W5guQ5pB9sQxONzjmwy3zR+9ZPzx5eahau6uO2PnScrwd2mX0zQX3tt2tpLw5tPTvZnWcGMuQhp3j1Bf3wYgJ9YfkP6QhRRU3mU4NBhhgoKx4mA5UdoefQ337ViCERq8+aENHJEqOh2b0sZ7R61dJVhgnP1k5I6SAoiYOSAZsEYbKK7LUg8SQOiSBCQG26t5mKIKZGog5z3FaqFzIH25G+MzDyv2xskNJna+ETHQ5roU5OHBvOyjcC3DYFfGAXgex0j+Uf2geY6A/8V9qeUG6du9eVA0L4JgBSWUAt+DsKNeuuW2tKilROVhv80L0hDFB5GC3dtSb9psiLhCep4KC4J49qY1yzGNGNadZ3XcDIzJL746Kxc7sxFjlr+uH2sUXEFYvnPhv8YlMc6cGxGBmR3bgn4pD8h3mWS0HJ23SqVGIxcwMv/IPsjhWFWgD5qbAui1uzyY39wKUzvU3MMOzi6H9WzBMQajFr6IUQ/w78qEs0KQxnU7RgoJX1Cf2tqD+9qpl3ONMaTiK/jsR2q9JyIyU9h7APEHwnZ6i2I0YEy0murp6kdqBdrtrshmKyyrtBCaqQz0LOXIem9Eym0uBsVtwrifx6W1wm77lqlYsbUe0qhs0wNO7GV0YOnLuc1tfPwxE6OegDtD5ZI5w/+5ZKo3hSNP5t9SZwbqwNAtHTU08mbrV/slnszWN1uAupv8p0MuvWIQK+GdmwOWdNPY047hIKWdvwtCNVRzAQvUf72DrxZhFwIKI0GbI/iPkWvHb+gY+t2pe8IJX0zQ61SFrRVq3j1ef46fecuDu4JkcbU8qVqyv0RwlHw8RGIXe4U1YcRDirJZ OmvaE/MT k6ZHJIU+y5cLZogDFVD8impFSsanDWrqSCrtsgY7nwWwcvq7WBvOd5sgQKHnL4F6kZKMBHlw5OXvWFqWnkMi6+pKIde373dRC3q2VfRcA8zDC1ZGsFVRtTliEFtIb3x/nX1YFykYEPyWaXiveRNRRETMf0/di+qH8ogukZYtdNxVxhSscnFfKkoLPOPwA2DhDITBI9eyUXH9lfdlx8u38CXVjOvndlTNlRE4d9a5P5XEYCyqH+WjqKsoIh/qaIQpS2DW14+sp6xdMbUzGWR/94/yWFIjsmAPzkwccexoh9lGvV7jmjFyC9PhnNw3Cnyb53CvYcZU4EjktQsgBzkxVfcz+KwkYbia4YmsAxUFXuwHUiKOw/Gy4A3JnYw== 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: On Tue, May 20, 2025 at 12:42:33PM +0200, David Hildenbrand wrote: > On 20.05.25 12:36, Lorenzo Stoakes wrote: > > On Tue, May 20, 2025 at 12:30:24PM +0200, David Hildenbrand wrote: > > > On 19.05.25 22:52, Lorenzo Stoakes wrote: > > > > Use a for-loop rather than a while with the update of the start argument at > > > > the end of the while-loop. > > > > > > > > This is in preparation for a subsequent commit which modifies this > > > > function, we therefore separate the refactoring from the actual change > > > > cleanly by separating the two. > > > > > > > > Signed-off-by: Lorenzo Stoakes > > > > --- > > > > mm/madvise.c | 39 ++++++++++++++++++++------------------- > > > > 1 file changed, 20 insertions(+), 19 deletions(-) > > > > > > > > diff --git a/mm/madvise.c b/mm/madvise.c > > > > index 8433ac9b27e0..63cc69daa4c7 100644 > > > > --- a/mm/madvise.c > > > > +++ b/mm/madvise.c > > > > @@ -967,32 +967,33 @@ static long madvise_populate(struct mm_struct *mm, unsigned long start, > > > > int locked = 1; > > > > long pages; > > > > - while (start < end) { > > > > + for (; start < end; start += pages * PAGE_SIZE) { > > > > /* Populate (prefault) page tables readable/writable. */ > > > > pages = faultin_page_range(mm, start, end, write, &locked); > > > > if (!locked) { > > > > mmap_read_lock(mm); > > > > locked = 1; > > > > } > > > > - if (pages < 0) { > > > > - switch (pages) { > > > > - case -EINTR: > > > > - return -EINTR; > > > > - case -EINVAL: /* Incompatible mappings / permissions. */ > > > > - return -EINVAL; > > > > - case -EHWPOISON: > > > > - return -EHWPOISON; > > > > - case -EFAULT: /* VM_FAULT_SIGBUS or VM_FAULT_SIGSEGV */ > > > > - return -EFAULT; > > > > - default: > > > > - pr_warn_once("%s: unhandled return value: %ld\n", > > > > - __func__, pages); > > > > - fallthrough; > > > > - case -ENOMEM: /* No VMA or out of memory. */ > > > > - return -ENOMEM; > > > > - } > > > > + > > > > + if (pages >= 0) > > > > + continue; > > > > + > > > > + switch (pages) { > > > > + case -EINTR: > > > > + return -EINTR; > > > > + case -EINVAL: /* Incompatible mappings / permissions. */ > > > > + return -EINVAL; > > > > + case -EHWPOISON: > > > > + return -EHWPOISON; > > > > + case -EFAULT: /* VM_FAULT_SIGBUS or VM_FAULT_SIGSEGV */ > > > > + return -EFAULT; > > > > + default: > > > > + pr_warn_once("%s: unhandled return value: %ld\n", > > > > + __func__, pages); > > > > + fallthrough; > > > > + case -ENOMEM: /* No VMA or out of memory. */ > > > > + return -ENOMEM; > > > > > > Can we limit it to what the patch description says? "Use a for-loop rather > > > than a while", or will that be a problem for the follow-up patch? > > > > Well, kind of the point is that we can remove a level of indentation also, which > > then makes life easier in subsequent patch. > > > > Happy to change description or break into two (but that seems a bit over the top > > maybe? :>) > > Probably just mention it, otherwise it looks a bit like unrelated churn :) And for refactoring patches it's always useful to mention "no functional change" ;-) Acked-by: Mike Rapoport (Microsoft) > Acked-by: David Hildenbrand > > -- > Cheers, > > David / dhildenb > > -- Sincerely yours, Mike.