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 CDE62C8303C for ; Mon, 7 Jul 2025 18:09:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5AD358D000C; Mon, 7 Jul 2025 14:09:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 55DCF8D0002; Mon, 7 Jul 2025 14:09:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 44C818D000C; Mon, 7 Jul 2025 14:09:41 -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 2D7EA8D0002 for ; Mon, 7 Jul 2025 14:09:41 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A656C1D872B for ; Mon, 7 Jul 2025 18:09:40 +0000 (UTC) X-FDA: 83638256520.26.4834520 Received: from mail-yb1-f178.google.com (mail-yb1-f178.google.com [209.85.219.178]) by imf07.hostedemail.com (Postfix) with ESMTP id BBCDC40015 for ; Mon, 7 Jul 2025 18:09:38 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pre2PaoK; spf=pass (imf07.hostedemail.com: domain of jthoughton@google.com designates 209.85.219.178 as permitted sender) smtp.mailfrom=jthoughton@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751911778; 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:dkim-signature; bh=PXvVCyvgHb0eHBfQ0bThDfdbXMaikQlhmHXanhLrTdw=; b=U0Df/PaxlgXP6IhxSjYLBseiqm9qRXaZWYM+V+0XvfUwtJgul/kINeDlzi0QLDwwhRFPBA kaBd3D4KO91ERG5Lac7g4YL9LhW6JPAceRxf8SJk1rWwgeni06U/zB7hgN0ti6k7YaKgiP JhuwwFgwKRThZHZqpsmkWP4oaWRZ/Hc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751911778; a=rsa-sha256; cv=none; b=Qrm1NK+uQikPHpuB5NdDehlY2u+cXF5EDy4TCjrm/Gh3bfaGU2mUibAqQmt8EPH5FPc4yn KFqRx9jpaQL8cT5yWT3dUYDYgswaPT2tJmKEAMg6Do7N5dH4en+dVftdoFkhGLNmuV82Ft DRqXUKF48lAZOzwU29vZK0UB8XjhGYI= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pre2PaoK; spf=pass (imf07.hostedemail.com: domain of jthoughton@google.com designates 209.85.219.178 as permitted sender) smtp.mailfrom=jthoughton@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yb1-f178.google.com with SMTP id 3f1490d57ef6-e81749142b3so2780653276.3 for ; Mon, 07 Jul 2025 11:09:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1751911778; x=1752516578; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=PXvVCyvgHb0eHBfQ0bThDfdbXMaikQlhmHXanhLrTdw=; b=pre2PaoKZ8fh7DO8gWmfLw++OknPLOzrCRwDG74IflnZ36JIuToE6k39bFltf08oRb EVWTcPcBF5dmUYxF/z5wrB1SIo9HRcttxPK1i8UVfFH8kwRF/Cd/+AcvRpF1CkeoEfU2 VauQeh3HrLim95ty2KIYXNgUTYo8uHsFBA+j8kluj4f5u9fNB7t9ujkKfZIejJOaDO4K ffYcLwfiUUHycz5NY6gSzA8wLBxmQ3DMY7H04h8pMiyMnJ9Xqqxe4aOZkBQKr20jaCTJ VafC/BtswK5YGBsMNimay+EdcH6BoiAKDebEJAkrWjqlaT2TpA06nJonQutfgnlO34GC hKfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751911778; x=1752516578; 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=PXvVCyvgHb0eHBfQ0bThDfdbXMaikQlhmHXanhLrTdw=; b=Z3cYQardWnX6GihTXNYmPxjnsyh38vSwp5atP9zQNntvxeXa3lgx4RnXTnnXtWIQw4 2RGJTWKyOCNBHoAQOh58Dl8HxdW1/UEGqVuEt+jO0faPh8GNgtzEKk/ukO3RqWhu48WA Xy7Psa8+KN+wJQPQd8YMN4PY0qR7TS0JD7Q/ESXndpso2/zN5SnBqwbVMSEzrO9bJOxe 4cql+fJL1UAVKR3COUR2xV8RivkgIfBpsv6rNAFV/J3FSbH+pBvArOKmnejj7g7XGqxR /9OcPnESx14qUkstW29PcvStyvnDEpYSQiX4LJ/qe2DgFCAwnOqI6MqpLQPR3ev7hwRp n3Dw== X-Forwarded-Encrypted: i=1; AJvYcCU2hz8BiO0MDgnr3aJLznBSPTSqwonk5vGSA3xPiCoyrSIvPdhliVdp/S04STzsuGvUDWgXfb5hXg==@kvack.org X-Gm-Message-State: AOJu0YyHWQpzjk/QAC5qdp7ozHgmKn4JtN8Q9WzI2Ga2DG1ZesG9OmkQ SA82cuyGXzfsivyRkusFVyk1TkDYva4+vHlGGE7SKZMKV2Wlvc0mID0Ztun3wHwcW021mEhh54i iOarVg+CzJ8yVIpT99B0cK16XLoY4Ayn3+dGRwxQn X-Gm-Gg: ASbGnctkz5Nly5Ck0aIPB83417jRvG0z+qUw1/x4iCoZsjd52X3vW7V6KiEsGFG4o6k OKCIxBNnAe4Lfx/E6K4tQmB9udHPBg8KqYiUq7QcN53quph7lAlCdSMtnQEkEcYjJKLz5dh0920 5CFNJkxYLGE5AtP/dAm7DXOGhqOJpyno/RNxim8bnslIZ9fUmBFZFFY6z3pSJza8y1pwGN4jO5q Q== X-Google-Smtp-Source: AGHT+IHw3HaZiyB/1y8CtGslDwQWQzV0+e50NJs7lEmDy5dHXsDu2ggjTmBQ1yT/1DSW6T5pgUsirP3gLE9OKHg0VWE= X-Received: by 2002:a05:690c:941c:b0:714:583:6d05 with SMTP id 00721157ae682-7179e42c376mr6996117b3.32.1751911777302; Mon, 07 Jul 2025 11:09:37 -0700 (PDT) MIME-Version: 1.0 References: <782bb82a0d2d62b616daebb77dc3d9e345fb76fa.1747264138.git.ackerleytng@google.com> In-Reply-To: <782bb82a0d2d62b616daebb77dc3d9e345fb76fa.1747264138.git.ackerleytng@google.com> From: James Houghton Date: Mon, 7 Jul 2025 11:08:59 -0700 X-Gm-Features: Ac12FXwKcvqRRUd0nsd7X92g5DnBajTeAMgxLisNdzU_VSoAb0b8Kq03tT52h7g Message-ID: Subject: Re: [RFC PATCH v2 18/51] mm: hugetlb: Cleanup interpretation of map_chg_state within alloc_hugetlb_folio() To: Ackerley Tng Cc: kvm@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-fsdevel@vger.kernel.org, aik@amd.com, ajones@ventanamicro.com, akpm@linux-foundation.org, amoorthy@google.com, anthony.yznaga@oracle.com, anup@brainfault.org, aou@eecs.berkeley.edu, bfoster@redhat.com, binbin.wu@linux.intel.com, brauner@kernel.org, catalin.marinas@arm.com, chao.p.peng@intel.com, chenhuacai@kernel.org, dave.hansen@intel.com, david@redhat.com, dmatlack@google.com, dwmw@amazon.co.uk, erdemaktas@google.com, fan.du@intel.com, fvdl@google.com, graf@amazon.com, haibo1.xu@intel.com, hch@infradead.org, hughd@google.com, ira.weiny@intel.com, isaku.yamahata@intel.com, jack@suse.cz, james.morse@arm.com, jarkko@kernel.org, jgg@ziepe.ca, jgowans@amazon.com, jhubbard@nvidia.com, jroedel@suse.de, jun.miao@intel.com, kai.huang@intel.com, keirf@google.com, kent.overstreet@linux.dev, kirill.shutemov@intel.com, liam.merwick@oracle.com, maciej.wieczor-retman@intel.com, mail@maciej.szmigiero.name, maz@kernel.org, mic@digikod.net, michael.roth@amd.com, mpe@ellerman.id.au, muchun.song@linux.dev, nikunj@amd.com, nsaenz@amazon.es, oliver.upton@linux.dev, palmer@dabbelt.com, pankaj.gupta@amd.com, paul.walmsley@sifive.com, pbonzini@redhat.com, pdurrant@amazon.co.uk, peterx@redhat.com, pgonda@google.com, pvorel@suse.cz, qperret@google.com, quic_cvanscha@quicinc.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, quic_svaddagi@quicinc.com, quic_tsoni@quicinc.com, richard.weiyang@gmail.com, rick.p.edgecombe@intel.com, rientjes@google.com, roypat@amazon.co.uk, rppt@kernel.org, seanjc@google.com, shuah@kernel.org, steven.price@arm.com, steven.sistare@oracle.com, suzuki.poulose@arm.com, tabba@google.com, thomas.lendacky@amd.com, usama.arif@bytedance.com, vannapurve@google.com, vbabka@suse.cz, viro@zeniv.linux.org.uk, vkuznets@redhat.com, wei.w.wang@intel.com, will@kernel.org, willy@infradead.org, xiaoyao.li@intel.com, yan.y.zhao@intel.com, yilun.xu@intel.com, yuzenghui@huawei.com, zhiquan1.li@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: BBCDC40015 X-Stat-Signature: sf6sftsz3x13i88gwgjqxf3bjh5xu57m X-HE-Tag: 1751911778-110218 X-HE-Meta: U2FsdGVkX1/YAOR2oqPuA3Cl1IYMrWzotLs0pMPFSYf1yzJvcEL+JIiiizPKT0hxzUyYTYJvUQxg9mNuq8K3eRfivL2igTh1ztadpLaBQuS0aPVUHcOtORvB9iP9v9OsfSRiC/Fkv/rSlt0y+YNLcsRSbLzVz3RLkI+6hg6KrjBvpdQ9wBjm1VmGbTrjwOfM9d1o15TYOGE2n1fOGSHnFMyRMU1eY2iZcfOwXqYSKGWbY9cJv4BZTJPaU9bw38PTOQmqD/UB+i79cs8yqrfjNGdS483IKm+SJvt8mIz34LxeFBt88CoBLPh1itKqJDmgpHRSFX1JL3PYojdy8rYq941nvKe534L/KS4Vz5iDakUcQRS99SdoQayvYe0ihpwEHTp2NOg6j3FZfc2qBaggsyYPGSqAUiIdEJYDkvq84hVdb652w33uz+DbfZdXW4doImmPXkmvKfEb1bbYArRtxDwOfadk0wAIw/sHhGpWOWERlyYXfySfASlVAf3gSPxrdkDCAywVMTXTVOwibyUAqlybgY6+cC7RLL65B0ekGg4Uhem97ZSYcZ85wNXiPnDJJ5gC+U3wLjcxV0g2XdZN5ENxvzrVh5o19HU7P0OGbz1wjLKcvJJO8xrCPr59Ytgonj79uAff0CLcan0syv0PRCixR/xva7MhHXU8bgEcp637KY1goxRzdgzkN9QbXqGf3b0+ezcJbp6CvjPaMrPM+IysuXM1H6HLmjuvOAU+P7G4wAF7LMTE3qGCfMllFIhC0h2ybs5jDC2bp0EyVc5ebrFb2FPGDfdmxknqXL57t5ko7RjD8CgzH1S0Km87o8R7wkmN6+O7/HDCGJK9T+sUkJSutlgoEzFuLNOTSOqw8tncXRF3xuT6jk06EHzc6asSFop7mGHsUXepxZoJzTiiqHPI8cDA5YKg4Ao1UtBn5I7IEnMnkI5yr3fWJpfkKKUHoAJEDlol1gfK6xzszAf U13wh5yB rPSn1WUeaTIfKSQjJhEUnqwlfNKjhF82UIgmgIdhyJ1uMTGIMZvts/ubbv5SYJWlPEcdHkt1N1AXaOdVfjDGoLoiEYdUu1ez5fXWIOT/7PlqsaPkUrEBQ/WWSeq9Oe9FlbNKf9fd18hoz9FVWTA0sKPOo16xe+Kibb80RcKhcyoEN+/BMHRUECR1ZYW/BqsFY1SQVuhGB3bBX0Lvtx7XROMlYk1Im/ElTcx0EXFiXMrf2rmtdpGs8xG0Bf7CgDSmiqww2bj1I86ro4v1O+rFsB5w3aDvpOp7CfW3q0wQiJiLsUzn27cbHw9j6JNBJIRaiYgf7JvmNWJBd0fmvCJnon4Q7p4nGaym7V8qL5X82H0mR53wnmpyjgcpcpMIdRj+rIJPd 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 14, 2025 at 4:43=E2=80=AFPM Ackerley Tng wrote: > > Interpreting map_chg_state inline, within alloc_hugetlb_folio(), > improves readability. > > Instead of having cow_from_owner and the result of > vma_needs_reservation() compute a map_chg_state, and then interpreting > map_chg_state within alloc_hugetlb_folio() to determine whether to > > + Get a page from the subpool or > + Charge cgroup reservations or > + Commit vma reservations or > + Clean up reservations > > This refactoring makes those decisions just based on whether a > vma_reservation_exists. If a vma_reservation_exists, the subpool had > already been debited and the cgroup had been charged, hence > alloc_hugetlb_folio() should not double-debit or double-charge. If the > vma reservation can't be used (as in cow_from_owner), then the vma > reservation effectively does not exist and vma_reservation_exists is > set to false. > > The conditions for committing reservations or cleaning are also > updated to be paired with the corresponding conditions guarding > reservation creation. > > Signed-off-by: Ackerley Tng > Change-Id: I22d72a2cae61fb64dc78e0a870b254811a06a31e Hi Ackerley, Can you help me better understand how useful the refactors in this and the preceding patch are for the series as a whole? It seems like you and Peter had two different, but mostly equivalent, directions with how this code should be refactored[1]. Do you gain much by replacing Peter's refactoring strategy? If it's mostly a stylistic thing, maybe it would be better to remove these patches just to get the number of patches to review down. The logic in these two patches looks good to me, and I think I do slightly prefer your approach. But if we could drop these patches (i.e., mail them separately), that's probably better. [1]: https://lore.kernel.org/linux-mm/20250107204002.2683356-5-peterx@redha= t.com/