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 3282BC52D6F for ; Wed, 21 Aug 2024 21:25:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7DA826B00D4; Wed, 21 Aug 2024 17:25:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 763396B00D7; Wed, 21 Aug 2024 17:25:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5DE2B6B00D9; Wed, 21 Aug 2024 17:25:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3C84D6B00D4 for ; Wed, 21 Aug 2024 17:25:18 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C3DDE80253 for ; Wed, 21 Aug 2024 21:25:17 +0000 (UTC) X-FDA: 82477533474.23.E65DDD2 Received: from mail-ua1-f50.google.com (mail-ua1-f50.google.com [209.85.222.50]) by imf27.hostedemail.com (Postfix) with ESMTP id F2F0140019 for ; Wed, 21 Aug 2024 21:25:15 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=none; spf=pass (imf27.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.50 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=quarantine) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724275409; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1fsEoldfgBSMa0fRY1RdwO0ZJyx3CzIt7z4Hr5VypD4=; b=uFtQrpM+DO5e3+wttRXEsVEUwzmNBXVjgdjnAucEazvc7IRDhdll9bM2zu7ftE5XEc1xIP g6n3IvKrSkheqX6kR+lEPKUUax6j7LuyXXZQI/ebIcryeibljnoOppSPL0+VeLsQoxO+BN i8C0GSbyks2FiaYV0JyaB7h2+3GVZRM= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=none; spf=pass (imf27.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.50 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=quarantine) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724275409; a=rsa-sha256; cv=none; b=luz21CfymjufCaJKGSH6csge4w3FtiV/H1nufmfJBXKUV1UZ6LPck0sLJps1hbBaDRpfn1 fwzDSuQ1/oqVl6VzhyfpdUCr+opvFKGTHinE00YnXC3NCL41VnWAMv5/N2jsuZv+glyF1O +pU8wJ7dtwnVHGxefJ5RUtMXNDsFH7I= Received: by mail-ua1-f50.google.com with SMTP id a1e0cc1a2514c-843046a99e3so64815241.1 for ; Wed, 21 Aug 2024 14:25:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724275515; x=1724880315; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1fsEoldfgBSMa0fRY1RdwO0ZJyx3CzIt7z4Hr5VypD4=; b=ni6CrXhTXqGX6u/UUagpXHYfYfvz/8OCsLvp1dekHx1b2mDS7keWCwTkcYePQZ3Ttc JI+HNSXe8u6vDBB2ePXjPMaPbyCXOZ3soeEvOFfGvOpLUrSr+mxnR6RhlNU7WiboEF0s m6KxoxAOYmQ6NMrdDt53zVoNBg0+l0SMcPk93CRa1/X1KzdGTDCxXM5KbDyMyE8/m9O0 vyf68hJodd9Pi0CyEgiWHb8NhdpJrNfQ46f2f3DI/XOszY3gcwf//ryQ6lftLkcfMS9B oIh/c9NSAp+6DoXz2Xdfe79JN+LQj8R11rJcrFuK3Fj3uuxdUj27oNnrk4uy9Sk++H8/ Xe+w== X-Forwarded-Encrypted: i=1; AJvYcCVJGaTQYqwFsIJlkx/icg8XEVmJnQbgA5WODnYYtOrRWcClIMe6mT7nX1XxjRVGom/D9i16goQgYw==@kvack.org X-Gm-Message-State: AOJu0YyDaTdZ4U6Oiyh4Umjiji1YGJM8FP/wktwHBoYs3fnn30gMXGMc jz9VkXIUXtiqKNMFGBgroh682BBsBUmaGr/OEJid9+bvsiQQpFWjo8+lMVliBKa7edAU7bUATw5 B+bJiEkxX7c6Xswy0eEsJIgqRex4= X-Google-Smtp-Source: AGHT+IFKKb+NnV+OSW20jFboBsSU7+Z3I7lC10M4JAK7AFbZGhvtaPiBlVSm8jGmW8EPRRSUVoSnpMBrd4Z8my49mjA= X-Received: by 2002:a05:6102:3909:b0:48f:dfb8:77aa with SMTP id ada2fe7eead31-498d2f4c18cmr3986111137.17.1724275515000; Wed, 21 Aug 2024 14:25:15 -0700 (PDT) MIME-Version: 1.0 References: <20240819023145.2415299-1-usamaarif642@gmail.com> <20240819023145.2415299-5-usamaarif642@gmail.com> <9a58e794-2156-4a9f-a383-1cdfc07eee5e@gmail.com> <953d398d-58be-41c6-bf30-4c9df597de77@gmail.com> <5ed479c9-21eb-4bc8-8c17-79e1b6081355@gmail.com> In-Reply-To: <5ed479c9-21eb-4bc8-8c17-79e1b6081355@gmail.com> From: Barry Song Date: Thu, 22 Aug 2024 05:25:03 +0800 Message-ID: Subject: Re: [PATCH v4 4/6] mm: Introduce a pageflag for partially mapped folios To: Usama Arif Cc: akpm@linux-foundation.org, linux-mm@kvack.org, hannes@cmpxchg.org, riel@surriel.com, shakeel.butt@linux.dev, roman.gushchin@linux.dev, yuzhao@google.com, david@redhat.com, ryan.roberts@arm.com, rppt@kernel.org, willy@infradead.org, cerasuolodomenico@gmail.com, ryncsn@gmail.com, corbet@lwn.net, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kernel-team@meta.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: 8j1mazikpmpbytenupsbje8o8jtb4uw4 X-Rspamd-Pre-Result: action=add header; module=dmarc; Action set by DMARC X-Rspamd-Queue-Id: F2F0140019 X-Rspam: Yes X-HE-Tag: 1724275515-587497 X-HE-Meta: U2FsdGVkX18Ve6i8gJlragR8X90/lge1puUkZHccTawHC/GDsHRsEzsbFrAe2anpBQN72bFrahDy6KQaEMSbytbydAp6EFN+oo41Jh9y7u9mM076nojeinknSgWgYxsJkqSo3eYJuOhxbssgKCvh2U2kAjiadMseJ9X9MwuiGQVokMrAu7yHidjwWnoxJO4FCpY2A2tXDqLq1SDidz+0Vtzz+6MGWqmI0vgl7+y5Y8YAH0d6GPlsdqs2QcOIbo7ZnaMDB66CIUkER9B0r1c85Kbtf5Pz4TyrwMnosI0XJK6rLgLeMPuWZ1GqwLUZQ8iDf2F0XvUpVQDROdePWb7ORHEMFpvHiOA+Me25/uXeJgNdeCF9dlQ62PbyWfyvyQYZfn2KITKXebf2IX8a5Vf+2f8KeqHL4mX34GBRelYdXQgfIhqldrku1BcwwOsUuAbuXePo2/AgUyerj+ftGGnzXY3mAt8E+yJD9v29BJg3nvZBiac/qUrQaOtGwwcOpfmhDwET6yDxbZk8s7SZTmQA8I/c6eq2dDPCa/66y4DBKawGIMgyM0rPkpO3iO2EgoYj4TxpZ1oYsO9WhYeeYO9vpVne6/cLZCtcicU98BnPpE2rY5IGbn+jtz3CgOoEqAIesjPt0UcS//C6fWwzxDGn89xEfsNCK5Q3cDpYOcogcFr5Key+6FRT7Bzxv1gbnLuk4VjeDMdjlfoaQgxlKX2fSCXWjq0rgNyHFYLwBziTvWz5YJ89G0JtD6hnmyoEpcf05hanfRTgDzcgYLHc4Q6J8YXHdN1WepTKJuxtYXrOTgwB8hu+vOZvfR30qBvUs5cQm4F2T4Sa91GM15p0jec1aruTFdryCFkEMqzbAXKKQsxZNborQ9GS16nbbguXOzVfrm3ZXrcAwuSFGD5O2L90DSIXbsUxDBH0V6A1GF0BHhR6SqhnWRGrpFVnlqNUf9bDEhGB3yca6qGXqcyhe5C B9o0LCJE wWnjuhujnGMT1t7H6puoSC5ABf0jrQl3TTqsxZFaJr+XEMDrBEQp2tTuKb5Lwa/ANmfRHjwHcajOOHAiB8yv3a40PVMyjzmwabuyyT/5W253ySnDYT+0wQ8PgZhOcwParObYcB+5P+KeT7gueylMEpZG/q9zB3iB31LRqqEtSKEXoF+m6DTwzK8tx1ZEt4gE5+manjrE8j0KYOMxcdBJg8rz7+QpCnm3LfNzRJt9V6e3EpH+i2FwAcy57ieLVfSLXNQXHXQioO3kaQg/DJitc+YJXnsOXtEUzOAYqvPzvOs3Jf9gRH/gurNmL1g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000487, 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 Thu, Aug 22, 2024 at 3:04=E2=80=AFAM Usama Arif = wrote: > > > > On 20/08/2024 17:30, Barry Song wrote: > > > Hi Usama, > > thanks! I can't judge if we need this partially_mapped flag. but if we > > need, the code > > looks correct to me. I'd like to leave this to David and other experts = to ack. > > > > Thanks for the reviews! > > > an alternative approach might be two lists? one for entirely_mapped, > > the other one > > for split_deferred. also seems ugly ? > > > > That was my very first prototype! I shifted to using a bool which I sent = in v1, and then a bit in _flags_1 as David suggested. I believe a bit in _f= lags_1 is the best way forward, as it leaves the most space in folio for fu= ture work. > Thanks for the explanation; I missed the earlier discussion. > > On the other hand, when we want to extend your patchset to mTHP other t= han PMD- > > order, will the only deferred_list create huge lock contention while > > adding or removing > > folios from it? > > > > Yes, I would imagine so. the deferred_split_queue is per memcg/node, so t= hat helps. > Right. > Also, this work is tied to khugepaged. So would need some thought when do= ing it for mTHP. > > I would imagine doing underused shrinker for mTHP would be less beneficia= l compared to doing it for 2M THP. But probably needs experimentation. > Agreed. I suspect this will be also useful for larger mTHPs like 1M and 512= KB. While lock contention might be a concern, it shouldn't be a barrier to proceeding with your patchset, which only supports PMD-order. > Thanks > Thanks Barry