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 51B75C83F34 for ; Sun, 20 Jul 2025 03:00:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E0BE86B0095; Sat, 19 Jul 2025 23:00:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DBC206B009B; Sat, 19 Jul 2025 23:00:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CAB9C6B009C; Sat, 19 Jul 2025 23:00:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id B879E6B0095 for ; Sat, 19 Jul 2025 23:00:45 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 55B0B160427 for ; Sun, 20 Jul 2025 03:00:45 +0000 (UTC) X-FDA: 83683140450.12.8FBB9CB Received: from mail-qv1-f42.google.com (mail-qv1-f42.google.com [209.85.219.42]) by imf05.hostedemail.com (Postfix) with ESMTP id 7579D100007 for ; Sun, 20 Jul 2025 03:00:43 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=H6828pFW; spf=pass (imf05.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.219.42 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752980443; 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=usaLBwpi9OVmz3of8m9IN0eJF2HKiIcgcSrXxMCtjhk=; b=1cz1M8kPt42IAqNO4Upd8PE1DWMx2XNM5wqHGl1mKr77ngHL2mZhk4exas4aFm0CmLOlFA 5FCeH61MYFc/zuHl8apLoX4f4/3EVX8CPcgaBYZp5onTtdbL1fu6GClvJOcAXTLJnI70Q0 txiasjsNB8+7RbJott5YzLB+0rFrvAo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752980443; a=rsa-sha256; cv=none; b=prHUylReif1JGg4I5dkcb3atLHDEnzj7nJ+1dP7szbzO5JDC7ThjmvoGbL/vixm6TWnCGM U2N1SS9SP+UCHNIxGyEfH+GP7s21POX5OLMp79r2ZsC3DH6ZxSlJz6GMa5fRziR89iQE7/ S9xFo9UzfaCCHNZSe10vJBD9LLi2wy4= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=H6828pFW; spf=pass (imf05.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.219.42 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-qv1-f42.google.com with SMTP id 6a1803df08f44-6faf66905baso41328806d6.2 for ; Sat, 19 Jul 2025 20:00:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752980442; x=1753585242; 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=usaLBwpi9OVmz3of8m9IN0eJF2HKiIcgcSrXxMCtjhk=; b=H6828pFWvJCpvCTbD/iEokt3FKBtACOJLjPAcvlkypZVqqTGnKQ8fEgWwnBaTHt0ea e+IvLEhFw8N1SyNyjjadzzjYKjtMaemIvDw+3qbiTAiQpRUbZkc5LHzumRwChvFXsnIm W5s/BSk1GAskV6T82VtY+wEmimLUOd3aFpmnd30M7rsYmk1yUiBB08RCvSfu9uzQnmMH Go1UVaW0C4FIGGRiT7eec8SDxlwlFl7ipMBExtASAdvgDSZsnH7QZ+VQTKS2x7lYaQP/ yoSa9f0V7paIzx7Vd5NVE/699IdtgZ6AH7koW1ELNogA/uerQWBUeCrHZ/tYPh0VPeRW rpvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752980442; x=1753585242; 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=usaLBwpi9OVmz3of8m9IN0eJF2HKiIcgcSrXxMCtjhk=; b=amCS1XGHQjYGrvu8kOspbdJ3X/8NnAhUPAJqc4oVxDN3f1nK0/Px8xxcrY9qsF+wKz lMgYhWkf2CFq+wPHuKXtXpsCTOz1brB9V0f0O/G5a7v6nDsFSSTSDFRq1NGahgMNdfHC djzHzthPDt1p9wFWm5skzXzclyr60GFHgfHfGwBN/yYJ+2sY+0bsXG7BrqO/2Yh5U1je rdlG2AuR8A8GbEQeuHqosvhX849djDOVMfuCRCd695k5K1/7F3EvSDUiTmFKp5KDwcfR H0/1l1RfngmVMRTrnYjKR3Jjq3MKdi6RcVVC4QQyYUMPG1uNQdCMyGg8d1lT3cWoboUV vqNA== X-Forwarded-Encrypted: i=1; AJvYcCVzs1sjT0GlV/CTkJw1u2I/kEU1qYh2ZjOjSVtdJezrJyHYtkNs4KZMzEynqybfvOZi7xATvCy5NQ==@kvack.org X-Gm-Message-State: AOJu0YzIcsQ1yLEKmAg9ZF6J91dyVVubzjOvf7BDihUqp2mKREfFkHDI PWHcUxYTP7afVAkZwrUYf6r8VmYm7fUnIELIKVkP6ivfa/8wAAztb5T4L7r40cIUxIt/tR1DYYA AGvDqpZ6juh+Fu3Rjzl10KoZdjfgp+S8= X-Gm-Gg: ASbGnctfXJSu5+eK30rZiMCz4GR7WJWiTAg18OYXvARvcD59HwgQS7H4r69MJNaKzDi kkwaV70D+9PurEc7I2zObI4dz3vkgEhVXHyG99QcLJr1rbEq3MPpkYqzZoTCLvV/i4OdQrfdIsJ VAVBJv/tC1ZCFdRzt8VaIQSwEhfBhUDd7Ej3yoCNl5D5ryhPL1YDkAYDjaA8fSRaMYiCM+Z2clh pk4IYjH X-Google-Smtp-Source: AGHT+IEn+qPSPfjnI0o/h2PRsh2Z14ypiX7IZI3vT0u2cSjT2O3N8mv53++RoBSEcpuQ/A5YdpPVAiWKa8DWUntEZbg= X-Received: by 2002:a05:6214:2621:b0:704:e137:e29 with SMTP id 6a1803df08f44-704f69fde21mr205580286d6.9.1752980442473; Sat, 19 Jul 2025 20:00:42 -0700 (PDT) MIME-Version: 1.0 References: <20250608073516.22415-1-laoar.shao@gmail.com> <20250608073516.22415-3-laoar.shao@gmail.com> <90ef1e37-4d76-4714-9071-51c33e315fa5@gmail.com> In-Reply-To: <90ef1e37-4d76-4714-9071-51c33e315fa5@gmail.com> From: Yafang Shao Date: Sun, 20 Jul 2025 11:00:06 +0800 X-Gm-Features: Ac12FXyEytQQb_wC9IJ5Ce1VsEVIrs0HGGDVDTCa3Pqzem5X8li2u8jHxBopWok Message-ID: Subject: Re: [RFC PATCH v3 2/5] mm, thp: add bpf thp hook to determine thp allocator To: Usama Arif Cc: akpm@linux-foundation.org, david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, hannes@cmpxchg.org, gutierrez.asier@huawei-partners.com, willy@infradead.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, bpf@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 7579D100007 X-Stat-Signature: oub4gomb776jyoiwompsjuiibsd6ze36 X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1752980443-778775 X-HE-Meta: U2FsdGVkX18gxshSLk+d59UEymkB7PadJqutrIMGqfuNg+qDIXwQOq3+o1VlqVi/1QveD0ZhaFHP68RgCJyvp0NvZPa2okIZDCnOnIDiTPxs98QtgXKO4oaipzsFI1XeJpF4ZsqOTzePHsj7bZQQcsUGRSAna1Ie0Pbi9xPAv+oZ6ix0/IVpydgqzHPnjQ7Mli0Ah1d8lou9zROLdngDXSF56c7rzRpVa6zZeDHtKD2W1Lfl9th6q9HRZ9LLnsaNETquHuF9HarhQitrcIMmzPNxd9bg4atN7OfyT5WQqQMzyGJs9nwyb0PjzSXctCW95/8Zd9pNrwTaN9UiipGruu0/mFHxomLq5uTLChfxnhQIJG5OC6HrjMo3Huna7klC+Ave74V5YqP2yCDxnex9qHsW0cwdOFW0WqLjMxgajlJMyDHROPTP06bkcEkAnjrwU3Kx0o5PrcJ8c42nIOCdQI6KcbdHKl82Q4T6OMUJ2gwav0ENqS8VR5ilGSCLtBRudPHju5ZpAcQRLHLWej/W2aJdELoUjUEzGecgoq2/9/HhQgSOgRPCgUpDid7bivm2cAjic9twNvjrSu3x7W8tHDSioK44SBu3nU36ykmFx3x5fgo0UesVHNjA5ZXVAnKh2vt6kVA2lAov/+Q5ffmWAZ1TiAdZ2seolVR91IChBS7Rp6pEOkqZ+ZyPbvctRqfrxncBkDg8syxJr1Ao6X9FiYvBq2Li6wy8E5wl3BygA1qt5HpFIQGHEKsrbLxqA8u+lc2g+YAFzyoTdBFSO+bNd895wsURn+teJ9mEN0UfTJ8021MM0D4F2dTmqVbJoI1sGsXq+mJ0U/SWT1z51l7nbQ6qTvDpNY3I9RU7+Ml/svPogTvVRzZQLehRw+8c2pCEkD3eC9cQ9b9u21TFpcKyasAY3YNMNePEnngfc5wKz2+4GVhkfSi9ourPe7jbujfDjF3AzCvRKCt52qLQyHN R3sm/d3V JCLdPaIR0OeyOzoISU1olHlyu/4A3H18+yc5lFmt597rBHEKMa3w1zs80taOvFq6MGp7qeBEFZB2xsIgRH2sETLcjsVMYGbuApJDvUAOJQYYxJT3PmX4T6BnpKAVFp4YLA8hU+5gT3mvkyvXWu+DMCXCxC4niUXmkdSucGm7J7BGf3T7p3bCmEfbmAAwRwxnMijXBUhCbGwKbnhgVOYeFur8+YmENOC+NdAnviUOaFVuYxi8j0ONGJMsrWuaRmSS0qq56ytUi5avXB+1gmcu6lS3tv/GGcYWwx4QFZTzamKeWaxzf75510fkHEUamrrfF/bBKSYoJWozvOSU3V/9aVx5THs14wC0UlAp8JlwM9FHri8bd6KgjYTfa7l8iDqmqVljG0DCVRWLD/fsa+G/wyYxPr8x1isM7kLO8clI2N+7IFSMOHiYtU4PZchJ1oIsRR2ox 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 Thu, Jul 17, 2025 at 11:30=E2=80=AFPM Usama Arif wrote: > > > > On 08/06/2025 08:35, Yafang Shao wrote: > > A new hook bpf_thp_allocator() is added to determine if the THP is > > allocated by khugepaged or by the current task. > > I would add in the summary why we need this. I am assuming I will find ou= t > when reviewing the next few patches, but would be good to know here. > > > > > Signed-off-by: Yafang Shao > > --- > > include/linux/huge_mm.h | 10 ++++++++++ > > mm/khugepaged.c | 2 ++ > > 2 files changed, 12 insertions(+) > > > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > > index 2f190c90192d..db2eadd3f65b 100644 > > --- a/include/linux/huge_mm.h > > +++ b/include/linux/huge_mm.h > > @@ -190,6 +190,14 @@ static inline bool hugepage_global_always(void) > > (1< > } > > > > +#define THP_ALLOC_KHUGEPAGED (1 << 1) > > +#define THP_ALLOC_CURRENT (1 << 2) > > +static inline int bpf_thp_allocator(unsigned long vm_flags, > > + unsigned long tva_flags) > > +{ > > + return THP_ALLOC_KHUGEPAGED | THP_ALLOC_CURRENT; > > You dont use either vm_flags or tva_flags in this function? > I am guessing you wanted to check if these bits are set here? > > > But you dont seem to be setting these flags anywhere? I am guessing > its in a future patch. If it is, I would move the setting of these bits > here as its confusing to only see the check without knowing where its > > I feel this patch is broken and needs to be rewritten. The `bpf_thp_allocator()` function serves as a placeholder that will be implemented by a BPF program. The BPF implementation will use the `@vm_flags` and `@tva_flags` parameters to determine whether a task qualifies for THP allocation. I see how this could be confusing. > > +} > > + > > static inline int highest_order(unsigned long orders) > > { > > return fls_long(orders) - 1; > > @@ -290,6 +298,8 @@ unsigned long thp_vma_allowable_orders(struct vm_ar= ea_struct *vma, > > if ((tva_flags & TVA_ENFORCE_SYSFS) && vma_is_anonymous(vma)) { > > unsigned long mask =3D READ_ONCE(huge_anon_orders_always)= ; > > > > + if (!(bpf_thp_allocator(vm_flags, tva_flags) & THP_ALLOC_= CURRENT)) > > + return 0; > > I am assuming that this is the point to check for allocation, but thp_vma= _allowable_orders > is not just used for allocation, its used for in other places as well, li= ke hugepage_vma_revalidate > and swap. Agreed, some adjustments are necessary. --=20 Regards Yafang