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 7759BC27C50 for ; Tue, 4 Jun 2024 10:29:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E815B6B00BB; Tue, 4 Jun 2024 06:29:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E28B66B00C4; Tue, 4 Jun 2024 06:29:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C9F766B00C5; Tue, 4 Jun 2024 06:29:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id A7A926B00BB for ; Tue, 4 Jun 2024 06:29:36 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 4DBD1A2174 for ; Tue, 4 Jun 2024 10:29:36 +0000 (UTC) X-FDA: 82192834752.06.CEF27BC Received: from mout-p-201.mailbox.org (mout-p-201.mailbox.org [80.241.56.171]) by imf24.hostedemail.com (Postfix) with ESMTP id 5946A180003 for ; Tue, 4 Jun 2024 10:29:34 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=rp6HJoAr; spf=pass (imf24.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.171 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717496974; 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=6DG7DXE2JJh9dM3bhGo7RQTMbF5V2xeF0wZaeXe7lOs=; b=u7h2LdHeZN8yseOBMbKMm8iWHTF8qDu99k05LL7/Ky2wQcbVcPzwmu8qzQcjYQxHy0i0eD Vq42BT7WOcIa/Pjc05PpPoz/3EWXzZ6iSXXS4bFQnAGSdlGMX5GDbA3hp87FIWRpt+GmLf vxn2KCgh+4e/t917Fz0dvrdw7sl538k= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717496974; a=rsa-sha256; cv=none; b=qP+lbqnZ+vVQ/2p5NqxKAq9R1yCWBDOCUZHGhQtPzmXZJkP+eOljAuAdLnKkBEEtYi0phY FVEnVh6V26YxpqIDzEWaA0Uw6vvWgYgKcQ4HnUkMs0zPbVm9bZarVpDEN00TpeZsArvp/q 8LBzi9zI5BbnV0TktfHM7scMo5SLfZk= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=rp6HJoAr; spf=pass (imf24.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.171 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4Vtmzt1dBjz9sS2; Tue, 4 Jun 2024 12:29:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1717496970; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6DG7DXE2JJh9dM3bhGo7RQTMbF5V2xeF0wZaeXe7lOs=; b=rp6HJoAr4fgn8D/Lj3iM+i2F/Bkkah1tOkbOY3bFKl3+D6oskWV+IVl4f4fY7q49kt4oJY PecYhtX+D45PzWEvv0NaHqK+hDsMs1YUuzzdS02RRSMarCRks2Zh+RxHJAEv7lPhiecDGT O4RHqW3zPVzx+TjgEPU6GT1fveYC5d+NpIRI23HIpf4KndEokN/ti0YAjO10KfJfT8JVl3 D397p4GHT6fAhAWQyZ54Vx3o0yDI1oDRZfzRWLzy+qZcoNBb0DnOjyMqPZVvVZFX5axh7N DjrOhaIEALi7giAnw0mqMUlY0PCNOnLlOJkHlkH3aHfHlm+S8+0KypkCo1uuSg== Date: Tue, 4 Jun 2024 10:29:24 +0000 From: "Pankaj Raghav (Samsung)" To: Matthew Wilcox 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: <20240604102924.u6n35x4rfzdvis3l@quentin> 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: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 5946A180003 X-Rspam-User: X-Stat-Signature: 39pbc8bki6crkwja5s7fn8yda1fcco71 X-HE-Tag: 1717496974-31016 X-HE-Meta: U2FsdGVkX1+zrWf5KSal4l4c7A5NWsztmMOfbxJe0ffce7S2O9ymJODd1igfQ8j6HXw3vEzx7uFrgMRpnQmN0NzhnFy7xkvERfwFm+F6aJxNm9LG94K7bAYgIV2TWLdUWUnJNpwbsdjkS65rLPMqVxwjDiV5M8+TuuCv29VgApb7+r2U4+N8TGJUZ+nfjwoH10VWYE382MD/rQgicajAWVgKLRTC9T+Q1hSnfoWQIEm8vPZWI8SgXo9XraWG5fYSl7ECsE4OkE8czg4WIxpUAlZ7ms/kTrFA86K1dWHG81FgkZVBp6jH5nHtRzcbHpRVmb9zuedo7cpS89X0daSgiZkSRyNfd588fcfH4HUb8VMS46uz12kvx9s2+1Ewyo8haumeRpvUxdbdTOUvBVk5GpWE+lgQE1ob2gCXKHzuUtw0lZEUdj/nzdTeNMLEItunXcCI7+LIEaCepqHGZGSPvW86s4hLK5FxUmajTPSedldi+pdXKgCpDKce2dceabCBV8ibM+5xyzFIVDlemTuvlJs+K8a8rZxPLdFoW4RQNcz7dN0FY9GPPc1w/TYWlqCyCZU4Xi0bRqnRbFK414V7SmA+sxV6i1v4SocS0FbbHVvU4aYgfMyAO9dbLlWzEXwXNvR74uC0Fos1vuQf4SA3agDr5396Q7JSWoS1raDxdNHwWhT7tbertIM07mR1Rbuf5W3IAGBs/+7IF2Q01YvTXO9L7pPqHL63gVc9a9EN1bo2nINgUxrTKVW/ij+fsYx5U7ZnMq8oTfcst/8t8914RbXaTnmt/EUOXsD6pXLWbuQUe/YOREk1MnyY7Hid/pref88yuoz97bxu6hGB5UnCZxYbha6HiS9gwXmIiuhqYbLM/adyyiTSpCrVq0viclHa73qusj+b/vNbw3vA5VCgvOO8T2IEaeFx5eCytts4Z2vIWLFoEYCaSLZs0V1UCFLp6hnZLTNE75tJKniuF1y /cBe3x9N f9jIX5rjGFT1w0db+DDLEFhJOcWPFbmaj/7euALNevtOIKh5IszBXrgrUNtLqV0Y6iuk52yzYbneAfjJW91KnV7oPmI1QD69XZPQ2KPsfFDQRQjNCR76pbbGFtJ85V58Uw07+/CLwn3O6GLJWB2IB643Xwe1kO/3sT07RJ7YHiDqdwUnsxPlOd7s1EFaCKlCHa3VaN5kwyOE9qoaBAQ5xpgKS/A== 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 Mon, Jun 03, 2024 at 01:36:46PM +0100, Matthew Wilcox wrote: > 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? > > > + } You are right. There are some repetition and checks that are not needed. I will clean this function for the next revision. Thanks. -- Pankaj