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 53DE7C27C52 for ; Mon, 3 Jun 2024 12:37:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E89D6B0088; Mon, 3 Jun 2024 08:36:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9997B6B0096; Mon, 3 Jun 2024 08:36:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8607F6B0098; Mon, 3 Jun 2024 08:36:59 -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 68AE16B0088 for ; Mon, 3 Jun 2024 08:36:59 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id D6EF91A0908 for ; Mon, 3 Jun 2024 12:36:58 +0000 (UTC) X-FDA: 82189526916.24.E4BD872 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf12.hostedemail.com (Postfix) with ESMTP id ED2494001F for ; Mon, 3 Jun 2024 12:36:56 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Qu3MYxmZ; dmarc=none; spf=none (imf12.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717418217; 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=7C0eF6nlIGCKMOH3zNzr9pWa+xfNDLGWYp9HnkvxvOw=; b=TGI4fh9Nq1uqYFvcLIe76VrpXlbta/H+QJYycFsxtszSX4iG6vFVQhL8/SxR0vIRtem4G+ J/kyWAU1dxjG1tthPbPiDLAnMnzlUzVzXqQEqgYmObA09qlzTuupzMkPP0Uql607HjBecq AGHywHEGz+Ahhxga4MNHsLrtXzsN8Uk= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Qu3MYxmZ; dmarc=none; spf=none (imf12.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717418217; a=rsa-sha256; cv=none; b=VwwdGT/5HsgT4kISjJSJEJKaHFYr0eIcuciVhaseKKBApAU5eVV5KG1Pe0ui6XlYiP/TJ4 hui6tiJDhoJnPRpAzyAhvXZByNAgSUf37l2IYFSpjDGiLIaVk5aTH+2XC+2QSGqfhz6D1Z khUNCOvcUa+s/hdO4m41bK+6erGJlGo= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=7C0eF6nlIGCKMOH3zNzr9pWa+xfNDLGWYp9HnkvxvOw=; b=Qu3MYxmZEw2c4/kq5YqDisMcfE T3EEy9+eBLkbf3m3LBWAdhU/l0k9B8cacnrBC9uulnLzicX4+IdesmhBMPK5VYN5Id/TOvRi3t0vr Pkg6jZUIg4NHgEvTPofHJ/bQEmq/NSgudg9keRezfDlbQ+LgFw4Vl+LQqUr8ncm0sMDORewAZTQGe QE0FwLaZlaQKXwpvd381tpYZMcQV/tsfDjR68AWBLseeYE5MDXhgjX3PkP3xbPH7Qx6m4MJpefgnu 6+CssTsUmfcZbb5VJhLhLR0lOPUiEHKRgMlQpqlyUVMdwnMBduN6rGwFgJuN9c4lJWVe+f/LY8eg4 VETO2aUA==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1sE6ve-0000000E5zG-18Wz; Mon, 03 Jun 2024 12:36:46 +0000 Date: Mon, 3 Jun 2024 13:36:46 +0100 From: Matthew Wilcox To: "Pankaj Raghav (Samsung)" Cc: david@fromorbit.com, chandan.babu@oracle.com, akpm@linux-foundation.org, brauner@kernel.org, djwong@kernel.org, linux-kernel@vger.kernel.org, hare@suse.de, john.g.garry@oracle.com, gost.dev@samsung.com, yang@os.amperecomputing.com, p.raghav@samsung.com, cl@os.amperecomputing.com, linux-xfs@vger.kernel.org, hch@lst.de, mcgrof@kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v6 05/11] mm: split a folio in minimum folio order chunks Message-ID: References: <20240529134509.120826-1-kernel@pankajraghav.com> <20240529134509.120826-6-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240529134509.120826-6-kernel@pankajraghav.com> X-Rspamd-Queue-Id: ED2494001F X-Stat-Signature: zyghg98t1893qwqcgqp75n9pc49uoznc X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1717418216-918810 X-HE-Meta: U2FsdGVkX18cm43+wd0ZckuWNnd7+LGIlgqp5Oza0uqaBO5gOh4h3fvPVGoHPGf5HQnAdfY+RWomelAbubnl4m2z2XN0VVAC0rTUK6L2uUHLsWIRCEQ0f0essIYgWQODQbmVsLP1/zZFnukZwSN6nDa7OJMVQAIrCk5jpGSxqIU44W+XKD6Q003aSRTFz0iAbagRvKmMg5t+7CkLvHUABsAALY22LZPQ7FzCnZ6roZQ4vi1rftNqBo0erPmkt8EfK85klWeRKTCZJsytVElFccU4v3avMCN4Ra+eT4ujb8cxJtd0WcZVbkD+js/i4Mz1PiS21jW6jnv+EsrhWew1VgbUV4pUNqgleoaDepeAVPT+eFWiLy8YhktpOc42RjDfLy5jaYzfmajQvG6f4XmX6syt4syPGch+Fg+WtAN+XaoIN2d0lYd6J1YkjAkjkW7ttveN2oTqokmJAMK6j3soY9pGqZ+c4rQltBsSKa1MYncrde83BPIVKM2ic2gERYYX5qjpFwQk8v+5rMeZWK/P05hJ9LKnsPZ+tk5O2lfnB26j0TkQyWHwusTYKRc6cyi1uGsqraBBXgLa+y/zQm/CcMSoXhOnHOOKuFJvUgb+bVBzeR8//9MoY2QoF1MX6Y4wjq8mHoYQ1FqNQDM89YD51f12kau02sl98yu2H+Nyuc1cxYk0ib+653cp5iNTTQy6AbUQUziBiA+ogySCW/a+MIHS/rrJIhOKuTkkipxagvrDjiHBnRMGnM9EYkiD2PW0Q5lrGnWym39CcRKVubl060Pi5cyrMQFSc7dlfTVgZSZjadfhrYMWB/byIyJ+q3RnoUTu2gZdW5PZBqUIGWGsYzmWpoBr/8d7fXXvxacdHckrEpBK4aSOr7LB9GUyvtw9EuOi9g3YihLQ7klE2DKs6lLv++pORDsY4/fsM/CpOv3M7ce6uZI73e5hrQifukuVgtlsy2YTsE7tUWv1eh5 yFPsbVxS chwbsCaVUI/Ry19ObCbhO6Ddf+6ALdEoXZgB3F7+xv2LFPP94LG2HsfQiqxfd3bhTOnF5azVFQmiGOvCHoih4SZfKUAllU8HI5Yu4Y80Fjm7i95UbgZjx3WTRQIr6aXK9n17R4VgrBkynFNc= 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, May 29, 2024 at 03:45:03PM +0200, Pankaj Raghav (Samsung) wrote: > @@ -3572,14 +3600,19 @@ static int split_huge_pages_in_file(const char *file_path, pgoff_t off_start, > > for (index = off_start; index < off_end; index += nr_pages) { > struct folio *folio = filemap_get_folio(mapping, index); > + unsigned int min_order, target_order = new_order; > > nr_pages = 1; > if (IS_ERR(folio)) > continue; > > - if (!folio_test_large(folio)) > + if (!folio->mapping || !folio_test_large(folio)) > goto next; This check is useless. folio->mapping is set to NULL on truncate, but you haven't done anything to prevent truncate yet. That happens later when you lock the folio. > + min_order = mapping_min_folio_order(mapping); You should hoist this out of the loop. > + if (new_order < min_order) > + target_order = min_order; > + > total++; > nr_pages = folio_nr_pages(folio); > > @@ -3589,7 +3622,18 @@ static int split_huge_pages_in_file(const char *file_path, pgoff_t off_start, > if (!folio_trylock(folio)) > goto next; > > - if (!split_folio_to_order(folio, new_order)) > + if (!folio_test_anon(folio)) { Please explain how a folio _in a file_ can be anon? > + unsigned int min_order; > + > + if (!folio->mapping) > + goto next; > + > + min_order = mapping_min_folio_order(folio->mapping); > + if (new_order < target_order) > + target_order = min_order; Why is this being repeated? > + } > + > + if (!split_folio_to_order(folio, target_order)) > split++; > > folio_unlock(folio); > -- > 2.34.1 >