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 95150C27C53 for ; Fri, 7 Jun 2024 20:46:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E37E6B009B; Fri, 7 Jun 2024 16:46:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2935B6B009F; Fri, 7 Jun 2024 16:46:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1824C6B00A0; Fri, 7 Jun 2024 16:46:05 -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 E96696B009B for ; Fri, 7 Jun 2024 16:46:04 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 990D814035E for ; Fri, 7 Jun 2024 20:46:04 +0000 (UTC) X-FDA: 82205274648.26.8D4586C Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by imf27.hostedemail.com (Postfix) with ESMTP id 737B540019 for ; Fri, 7 Jun 2024 20:46:02 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=0CerIIJO; dmarc=pass (policy=quarantine) header.from=pankajraghav.com; spf=pass (imf27.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717793163; 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=F+CsyygnqyIZppE2kuEE0dMrpi3Kb0fFXtIf8csIUsc=; b=WoQiPW2QImzbGJE0z+o2UBxJ9Z4BPW2owWa4MU2XMX31Zoh+Fs6j6IYEphD7p5O6SQpaok LVujwYdax21ZDgZEd9Op++MO1W+ZISn5zRUCw2hUtlEp9eIvQh9vA8lnfn1QTg46dP6MqH DjuiJkH9AWkbB6pvJ07QD+lo9Jz5nyk= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=0CerIIJO; dmarc=pass (policy=quarantine) header.from=pankajraghav.com; spf=pass (imf27.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717793163; a=rsa-sha256; cv=none; b=huniEPCrTaQxuV50Yhfa9PYpKv50b6pG6JWHQjIK1Dd4noDwYodpOqggUhGyjx8KEpLKzu McgtM7fpEL1CYhQsWWmOTUIAqWYZKtM3BVyaUI5FEPMtinORsvIdr8PdMMbWnJ/FBTsqHm Hh9hZUzLzW4+7ibCBKwJT0+7KbL9G6g= Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (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-202.mailbox.org (Postfix) with ESMTPS id 4VwtWp1Fnrz9sdB; Fri, 7 Jun 2024 22:45:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1717793158; 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=F+CsyygnqyIZppE2kuEE0dMrpi3Kb0fFXtIf8csIUsc=; b=0CerIIJO76D4qaq2U+ap75V3Xmmgwbnq8MsQR/5VN4bigHS8rckc9wzrnA4/H5dbmsI8Zh 9I1e/wTe04B0VACuXXOHKZmVTD3HYKSCrJhJ8EKCid2ynzOOOhQfRZg6bqFmB6Ae2niqeu QUX2J2v5nU9QXqP6+6dtAqO0YnkgDRKueWHnPjC3AAF7Y60/CX74Fg4evPXnlBvn9Y0cU6 HcEny3zKyT7k5l9Tlu+ozF1BdU0dz7BPBP7tYNN2Z6ovBSnj3tlsCD8iSlD/LdV87IVbbC HqjjkvJxZ/23VUv4sEOEm6WBfBpxGBsXlBO9bz/yJCmyanWDuXZOJ9NACFI2Hg== Date: Fri, 7 Jun 2024 20:45:52 +0000 From: "Pankaj Raghav (Samsung)" To: Matthew Wilcox Cc: Zi Yan , david@fromorbit.com, djwong@kernel.org, chandan.babu@oracle.com, brauner@kernel.org, akpm@linux-foundation.org, mcgrof@kernel.org, linux-mm@kvack.org, hare@suse.de, linux-kernel@vger.kernel.org, yang@os.amperecomputing.com, linux-xfs@vger.kernel.org, p.raghav@samsung.com, linux-fsdevel@vger.kernel.org, hch@lst.de, gost.dev@samsung.com, cl@os.amperecomputing.com, john.g.garry@oracle.com, kirill.shutemov@linux.intel.com Subject: Re: [PATCH v7 05/11] mm: split a folio in minimum folio order chunks Message-ID: <20240607204552.7bmjf36bsupeznkq@quentin> References: <20240607145902.1137853-1-kernel@pankajraghav.com> <20240607145902.1137853-6-kernel@pankajraghav.com> <75CCE180-EC90-4BDC-B5D8-0ED1B710BE49@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 737B540019 X-Stat-Signature: m51qw6qf1dm4ywn54yi94eyb5snp7ik4 X-Rspam-User: X-Rspamd-Server: rspam04 X-HE-Tag: 1717793162-581224 X-HE-Meta: U2FsdGVkX19CoN3fyb20ElYaJm/5x/LtnCPHp0W0+NBa4g21mlDe7MzGYHM5xAKBz2LSh2pwy7HeZMwRlAXSQEco31n6fvX68wgikwzKW1IvPc4MwJ1tN7aUS5BFPGqRpAqxA78JmAm7sbUanGwutKiv4Vf947q3hFeYaBPYU+DX7vdSjqfb3xk1hL7Qkij2vl0pGi1y/nD6fjeSUodSSAMwJtxG7MJ5XKfVjssM2hy2FtPdMvVR2w6I9Sg4hYDP4KRjEMlwEhqa2BDced+db6M9Fvy2BOoKuo9IQtzRsl1pO0y/NN/E1QzjCQ2GENM3Q2YUxeMXnDM8GX6T5OIFhC0vfqBOzEnaK4rog5Ot2ePN8Jwgj85fZ0aUB32XLVvGXOxgmJbNhhnbc5zWLzG0tSuVjBRZzbT82T6WizuyDd7mEbTVcWlSS34L+2/CQRh7tVrC270fRER6BpFTkgGXiYk5vqo/+gXAvs/j+2SGVraFF4uPqJ6id11SIKOM97M1V66Ee3dMyPdTLzJE+df+jrftQuBlbMPn4qOJ3r4eUSf8cP/lLXSr3JTrl8ezXnoyMgaVqPfbBBG6uYd5aUQBeYN1WXDCYniscECou+bFTBZmwLd+1iL1uGhO/ZA0vdeP/s8Mut7K0NcNCk/ogk5spMosyn6Qsa0YjDdE3IKy5jDKDV6NGzeaIkQaz95HU1QGtpR3lRrJE2q8PPHfnGgoDekyPODjv7C+X9DbnFBKwNQId6KBHlxt4sD1AeJA9mu/5n3gcCPepgJLYtjFI5t6oG8Q68RblB6lnoHtn+HfVjLX+tQdB3Gb5hqi8bXGN6YNcHfhXPSpyZeKQAlYDNI07nrUwRBIjoh/Kz8XoGTB9VZBo+52k4OBfOXU3+zom/oOvtZhC/fq6H+aB4Zhx9bOXx6uvyb4ab3I4+J+f0iKsnsiW5FZYk8gWOWKKfPj+9l9r0HkZ+ewGYzGpKz2+0Q hzPpq5SY jF0VFMrmwckem7L0FT6nYaxRsRYqCjYfjwAYvg+0oVWS08YhTYCO7RNxlMljSFIWT7DxmBPYDB/BK+jxdgt2Z3/ejM9gsM0gYD31E6G2M2X3Uyt0NlWKJj5++S7kth12/D1mvLtv65+GHfhxGSCSmvJOME4WiWhhO4fNvsgivbZlEU5y5xXhgg3cCKhJP2zzUBAg/ 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 Fri, Jun 07, 2024 at 06:01:56PM +0100, Matthew Wilcox wrote: > On Fri, Jun 07, 2024 at 12:58:33PM -0400, Zi Yan wrote: > > > +int split_folio_to_list(struct folio *folio, struct list_head *list) > > > +{ > > > + unsigned int min_order = 0; > > > + > > > + if (!folio_test_anon(folio)) { > > > + if (!folio->mapping) { > > > + count_vm_event(THP_SPLIT_PAGE_FAILED); > > > > You should only increase this counter when the input folio is a THP, namely > > folio_test_pmd_mappable(folio) is true. For other large folios, we will > > need a separate counter. Something like MTHP_STAT_FILE_SPLIT_FAILED. > > See enum mthp_stat_item in include/linux/huge_mm.h. > > Also, why should this count as a split failure? If we see a NULL > mapping, the folio has been truncated and so no longer needs to be > split. I understand we currently count it as a failure, but I > don't think we should. I also thought about this. Because if the folio was under writeback, we don't account it as a failure but we do it if it was truncated? I can remove the accounting that we added as a part of this series in the next version but address the upstream changes [1] in a separate standalone patch? I prefer to address these kind of open discussion upstream changes separately so that we don't delay this series. Let me know what you think. CCing Kirill as he made those changes. [1] diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 399a4f5125c7..21f2dd5eb4c5 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -3152,10 +3152,8 @@ int split_huge_page_to_list_to_order(struct page *page, struct list_head *list, mapping = folio->mapping; /* Truncated ? */ - if (!mapping) { + if (!mapping) ret = -EBUSY; - goto out; - }