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 D265AC19F32 for ; Wed, 5 Mar 2025 23:18:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 311F2280002; Wed, 5 Mar 2025 18:18:15 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2C193280001; Wed, 5 Mar 2025 18:18:15 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 189B3280002; Wed, 5 Mar 2025 18:18:15 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E2504280001 for ; Wed, 5 Mar 2025 18:18:14 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 72C65B76B2 for ; Wed, 5 Mar 2025 23:18:14 +0000 (UTC) X-FDA: 83189062908.09.7E518B9 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf01.hostedemail.com (Postfix) with ESMTP id C99C94000F for ; Wed, 5 Mar 2025 23:18:12 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=niAwEltb; spf=pass (imf01.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@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=1741216692; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=bKZJI+3dJUFEPTc3UPVvBVIFwyIKbc6Y9c0sihiVP0o=; b=Uhe6v+m/H47MxmQ9+sK5YjZ/623MXS4C9VpseHQy3jHCi72kANbxmDhdUlimrdBKqaHnFP WSTLJv/J0+GIjMcW5bU6uATVo/f5De6/CNIBFov4MWOHWls7wvQD4J2EgmfuOGHH3lb/f1 unArCBIAQHAwkv59dv9icDOTHIZrlIo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741216692; a=rsa-sha256; cv=none; b=5YDhYUIw/AnlvQ6uRNZKCJVK8UniEIXb7LHMR9jTJdBEoN4dloziwpHJ2k20Q7D7YR9d4l HjIVPQqS3oAt0Sf6FbX1N61yPWrwwqFSzVkFLha8kEMLJntSrBd25jDZkooh1+S/HLRiLH FE7FdYIQkhN3ePJnw6f2bKTuyNtZvJE= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=niAwEltb; spf=pass (imf01.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 276E15C581D; Wed, 5 Mar 2025 23:15:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7894EC4CED1; Wed, 5 Mar 2025 23:18:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741216691; bh=Y82WkIdjvwXX3jwmN+3B1pKPgPbYXzZBKTIzlLto9nI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=niAwEltbnzwP8yIN3X4gQL6p8S0DtDkSW4sdRbfXMqiot5fwsrgIoCi6h0t5Kjruv kpt2IUi0IkpRckfudJEkGXvST/HyZ/EhtLIF/lZCsecZ3u5Ag3Gs2EA+hN0B3p3z89 2g1xD/hjkpzQuW9GIxZBygg2tr5V/rDsQ13B/ZaqjO1UypCvgLRC6TwgwsZcxMbEIA Av9eulIREaOOaari3MUKErZ+LbQaaGXllUd0F2GL4Yay256B3F211ivAyIVpBowJUm ymwMGhGkCqU+xloliLy3r3mmuHcBmrBgd1DRJaL9WF4a96Bmoh0HbFCbm3WUTr4oqR lfIUi2XbMcNVQ== From: SeongJae Park To: Shakeel Butt Cc: SeongJae Park , "Liam R. Howlett" , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [RFC PATCH 02/16] mm/madvise: split out populate behavior check logic Date: Wed, 5 Mar 2025 15:18:09 -0800 Message-Id: <20250305231809.136776-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: urc9artgfohsmn9hxqjkb1woro1yj7dn X-Rspamd-Queue-Id: C99C94000F X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1741216692-78827 X-HE-Meta: U2FsdGVkX19FTh6xoZ/5DEn3wBD4uDIQjoLGRiMzXo6sbpqT3tj3czr30H7vAsKjUet6s7CCSjQ/oBma6v93VMGFJtxfa8erSDUs/UxvyUa3VmoX62wwU1FsOyZIH3VO81WST2BVHKjGUu/NdiYEXK5ue6op67stunkgyEI0F7zxwaUFI5/7CHqSglIcvB6vNq/1erJFvbbPvZdWeAGHprfygwkaJdv1E6x89MdAO093lWxMhXAUNf1QbNrU9TyUlcpOu5p6VT5Nq8okFVVO2mrNUMEgPLxuTpqC3qREUMmlW6bBe5tZ/HaEZ1GVwI/yi0ROSF9OVFiYxACJBMFzSfEGjUG2wnSPUgNcvhxKl5womnz22WdbleGH5AREkHKXBm7+dL5EIRr1BUBPClNtLYIRkDn9L58Y6UsWSxVSYXFTNVbaM2bmtQIr4NRxaxmtXsispS8LJrvLKcK78k2wwIsOjL38NBmd5cTP20ZzTWI1lxEWezNc5qKtr8eY6az61OJR9VBjbAtYTRrBEZwmw24sJjB4nfDoRCOpU7gmwxBDNsz5YN0cbWJdd1Qm+z8lxlOYqHVYnEkGyY22VzwoEebYF9Ty++Wj7Hl8zRl234pnpK01Y7AUXGnlt6v5tWq6gPd0DUKODeXU4w/+BE+/2JYjFQqcbfuwwrXjEEWUJWwg7PehaI5vxR9jP/bW82/4nAHlYX5zwBTnjQuUiYgXMpFNadaTnmD+iI3zbCPbhjnZZtwDcSosmHTrfn7HDAl94yIeX071rqaLht7c/z2mBH7Qmo8lHXEiioAlgqLYVfCgnEqpNAm/mKs6oZ0vAwxtN0ZlrB4pIYQJnAD7hH8CCQsyQOrgo8AemLXZHf4a6ETTeWVa/i6/0jSRvTI0ReS3fhXSQ/ULpOUgMd28PD3LSk9uR6M+GcH8O/n9Yp8YQlob+HP+IXuQ8zegK2H3SQsHUJ7bqwEhsUHvwWxFepu YiTIsCyL Zd9j1RVRARlf0agmvETyPHvBbt0jM59mXEuWoq1ha/4+oajTpwzJ5eLRhWGcvyU2crjjr5TZVWsc9vs13XJ/4gx6u/TjsrsA+8B5rFTadljNnXDo7KfrYDJWVlRYgI8ALrbmT0c/abyX1AXPDryfBd+9tZO4N85rKIPMQKY1zaBHH4HHqEorBhkwp9rGN9lfpZ6GZFGAg+wO8JQ5pGoLlEO4y6xduhLKEW1TgM1dC2AIMVu4= 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 Wed, 5 Mar 2025 12:32:52 -0800 Shakeel Butt wrote: > On Wed, Mar 05, 2025 at 10:15:57AM -0800, SeongJae Park wrote: > > madvise_do_behavior() has a long open-coded 'behavior' check for > > MADV_POPULATE_{READ,WRITE}. It adds multiple layers[1] and make the > > code arguably take longer time to read. Like is_memory_failure(), split > > out the check to a separate function. This is not technically removing > > the additional layer but discourage further extending the switch-case. > > Also it makes madvise_do_behavior() code shorter and therefore easier to > > read. > > > > [1] https://lore.kernel.org/bd6d0bf1-c79e-46bd-a810-9791efb9ad73@lucifer.local > > > > Signed-off-by: SeongJae Park > > --- > > mm/madvise.c | 20 +++++++++++++------- > > 1 file changed, 13 insertions(+), 7 deletions(-) > > > > diff --git a/mm/madvise.c b/mm/madvise.c > > index dbc8fec05cc6..4a91590656dc 100644 > > --- a/mm/madvise.c > > +++ b/mm/madvise.c > > @@ -1633,6 +1633,17 @@ static bool is_valid_madvise(unsigned long start, size_t len_in, int behavior) > > return true; > > } > > > > +static bool is_memory_populate(int behavior) > > No strong opinion on this patch but if you want to keep it, the above > name feels weird. How about either is_madvise_populate() or > is_populate_memory()? I wanted to make this reads consistent with other similar purpose ones like is_memory_failure(behavior). I have no strong opinions, either, though. Unless someone makes a voice here, I will rename this to is_madvise_populate() in the next version. > > > +{ > > + switch (behavior) { > > + case MADV_POPULATE_READ: > > + case MADV_POPULATE_WRITE: > > + return true; > > + default: > > + return false; > > + } > > +} Thanks, SJ [...]