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 A9F50C71136 for ; Tue, 17 Jun 2025 17:53:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 350FE6B00A4; Tue, 17 Jun 2025 13:53:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3289A6B00A5; Tue, 17 Jun 2025 13:53:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 23E976B00A8; Tue, 17 Jun 2025 13:53:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 124236B00A4 for ; Tue, 17 Jun 2025 13:53:01 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 93EECBC4EE for ; Tue, 17 Jun 2025 17:53:00 +0000 (UTC) X-FDA: 83565638520.11.6A207C3 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf17.hostedemail.com (Postfix) with ESMTP id 3434D4000C for ; Tue, 17 Jun 2025 17:52:58 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Fca5QwSI; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf17.hostedemail.com: domain of npache@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=npache@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750182778; a=rsa-sha256; cv=none; b=ROyrznoUgOn+XUAzazNdAVrbcdlyi4GbxyiPhz/6BiV/4YqhiUYSV7QitmjlIQ3GbUUNVJ NsqxKMs970aY10zM0Yh/Ktc1d7wAp3e1UbJbEHWbcMkeaLuMHCRot17LEMJR9a/q7u0dzO 3URBugAnLguG+nk/35B4Gw70lfmKEkM= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Fca5QwSI; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf17.hostedemail.com: domain of npache@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=npache@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750182778; 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=VHVlghtOwl1iYTRYeyXrEKqXKy+rGsdhH54hG2oPsxQ=; b=CVy0NryS30HeGKG82oivnk/MVDimeIR2lSwdOFCeKqg2RN0BqLad0TdPwH/ak+6p50PVh7 7PQmweqgjmcnZ0nxfehwSojjZNhg3m/6tUjT0B84/rXm0FISCAEvP8QzrsfiLAjTdcNPwb iLPm63s04o64n0PsMV7r8Lcx63LjlSQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1750182776; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VHVlghtOwl1iYTRYeyXrEKqXKy+rGsdhH54hG2oPsxQ=; b=Fca5QwSINAt0WeK4LkH1LFKL22gidX9lvbdPDaZ9nEohdjrVyuGzBNN2TyJzkNME8CCVQ3 m7fD7rRF7oiPO5DYt8Tvo1Ul5WHMjbVnSkllPEgILYe7sbEE5IxCKg5kl2XYPdVrYMSMT0 t3MklzpsS5NG/k//S5gr33dcTBTLKyo= Received: from mail-yw1-f199.google.com (mail-yw1-f199.google.com [209.85.128.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-601-gnqDWrZ-McG7cHaUSo6cnQ-1; Tue, 17 Jun 2025 13:52:54 -0400 X-MC-Unique: gnqDWrZ-McG7cHaUSo6cnQ-1 X-Mimecast-MFC-AGG-ID: gnqDWrZ-McG7cHaUSo6cnQ_1750182774 Received: by mail-yw1-f199.google.com with SMTP id 00721157ae682-710f05af33eso78155687b3.1 for ; Tue, 17 Jun 2025 10:52:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750182774; x=1750787574; 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=VHVlghtOwl1iYTRYeyXrEKqXKy+rGsdhH54hG2oPsxQ=; b=O3t+1qFoV+Qcf/W1XyKstXOtzb9lKbDw9DFe+fr6TuoP2sfdK6JzRUfbv2ypmh17IB jXGqzmDruG7qFbBCK9CS1IxAHtAdqHXpNYE/i3Sw2uI9dlXc/WOXMQCtIcr3cIelqPir bJzIE9Q29iYtK6xXT5EKk93HpJCMF+7Fi9Po/u+zBRM2co3wvGeZ7Z+WSa96eAmo1hrz 4o6QxbLM8aSvQKFjJzXQ1ZdliUifycQlwJ0UMY7wXRVfKx9wKhhsLZNybNrEZdEGFOoC QPffhGnDMTRYJZX/XiecFr7IX1cEkMCumjpCLQFoMrbTiDxxR+Vnjrrac6ybWHhkait7 yg/g== X-Gm-Message-State: AOJu0YxY6zkHfd+Aa8/Zo3SvIppKPehtCGbOydH+2PQmHFqVVoJcBB7q gL68L2ZKtZd4z0B0i0GgKfY6Fm02puLQWdU3209p9oWVXEpttxWFreaBrbb6YW2bGv6SOvEnqKB upTDL7dDTa8GDSojF4FuLtLYyjbkGCb4F4bWI5egfPiOZHmo+B8qAtwnulIFEfselYibjbEWrbc +ujjF3sWZ/JJH5cka6FLjRg2bPCgc= X-Gm-Gg: ASbGnctYDGNcyuGIiYIrfYkUYzFTfMK5GNx2unaod+CGohdgzVtOUmDXWUGKnWABm+U y73Vv1MH+1NvqaE562M+zyl2TYd4xjE4SKGwgxGpriW7AWFAYadHPXLOtDSEbQs4dCRuI0eHhlW 7Hx41zqw== X-Received: by 2002:a05:690c:9a07:b0:703:b3b8:1ca1 with SMTP id 00721157ae682-7117536e5f3mr174054297b3.5.1750182773979; Tue, 17 Jun 2025 10:52:53 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHsuDUpqbT4Zm+fDNYLZyRvnIomvlXs1lgyYMEYTlPSDFNwpQpbOwB39H6AdaylUKoeEGHtBp3S/5ilov+jo+Q= X-Received: by 2002:a05:690c:9a07:b0:703:b3b8:1ca1 with SMTP id 00721157ae682-7117536e5f3mr174053697b3.5.1750182773635; Tue, 17 Jun 2025 10:52:53 -0700 (PDT) MIME-Version: 1.0 References: <20250515033857.132535-1-npache@redhat.com> <20250515033857.132535-2-npache@redhat.com> In-Reply-To: From: Nico Pache Date: Tue, 17 Jun 2025 11:52:26 -0600 X-Gm-Features: AX0GCFswQblbC-fUl4LgnBDpA9J_EkZ2hl0iyVshZHwGMIbdVVRH-b1apF1auqA Message-ID: Subject: Re: [PATCH v6 1/4] mm: defer THP insertion to khugepaged To: Klara Modin Cc: linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, rientjes@google.com, hannes@cmpxchg.org, lorenzo.stoakes@oracle.com, rdunlap@infradead.org, mhocko@suse.com, Liam.Howlett@oracle.com, zokeefe@google.com, surenb@google.com, jglisse@google.com, cl@gentwo.org, jack@suse.cz, dave.hansen@linux.intel.com, will@kernel.org, tiwai@suse.de, catalin.marinas@arm.com, anshuman.khandual@arm.com, dev.jain@arm.com, raquini@redhat.com, aarcange@redhat.com, kirill.shutemov@linux.intel.com, yang@os.amperecomputing.com, thomas.hellstrom@linux.intel.com, vishal.moola@gmail.com, sunnanyong@huawei.com, usamaarif642@gmail.com, wangkefeng.wang@huawei.com, ziy@nvidia.com, shuah@kernel.org, peterx@redhat.com, willy@infradead.org, ryan.roberts@arm.com, baolin.wang@linux.alibaba.com, baohua@kernel.org, david@redhat.com, mathieu.desnoyers@efficios.com, mhiramat@kernel.org, rostedt@goodmis.org, corbet@lwn.net, akpm@linux-foundation.org X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: gVJQaHgh8eZbf2XYV3elhk9Jt5J_royU_otSG6mnUaw_1750182774 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Queue-Id: 3434D4000C X-Rspamd-Server: rspam10 X-Stat-Signature: uu5zmaxhskgx9m5gcugetgdozi14mpet X-HE-Tag: 1750182778-70373 X-HE-Meta: U2FsdGVkX18r6ylUYvysF/ue01YiqvWD6WmNr86U2MCjmbPzbX+pD7o+Pb8ip/b4fD+YhGVccazpeoAe33UWxdoJh5wepRjlZniGeixljyhSZQRkdR6mb2i76bU0eDZVZNyYYIBfEmBfYrym31/5nJRrmN2a0OSPZAukUzuAmmSf/oB/8q1d72fOGPm3FCY24xIO2JxDzyzXHDe4jHSPQiIUw72rwKqWIt48WuAp0aXfp1QU2InVdmR2IOKJ12SktSCQJo6QH1X6kIhiIosEqEmC5ww5RYtgvCYNEiu1Oof0J0yY9L3TlIiPiiwC0nCIfHMivHIBbh5rIjQbUJ1tTFKQhNvMoJGqftlZIHJJzjVl5F6Jh33tnQeg4isGjypjCuuw/6N0Nf8kLpUL5+IAb2TBhyXJB1TFQGzngZzWgJYPFCqbtRLXW6EscFwIyCP/jSHB912q2cLYdztJG3Axa8rKXJNvN3FvOKagMm71/TBSGJguJQ4IMVPf5LEQq2cbMrQ7kqg+vrQyZ+4hZMiHaTAGaN02Bl1kv4lzncw+3yh1GpFWxcQeGHln8dlBPHCgqTilW6KYY/a8spicS6qe4o4M6m902wXMGY/qLf1e/MrqK3+XT00oeVkN80OPDmkelukdMtSsZnGOOfvG1FF/Tm5lauQyb0mhgWNA7f2Kv4zI9rc1SdECdnUDjYRlP8GWMHZDi/cB+XVIrIZ1wyB8F2ArVY+c5CZudComVMNFBnREnaUVhrFDLU/euZDa3Umc7Vkse/yM2XWs+00Evb0s7tO3RywknMTAgwTFrMTwFDDatnuUAYEM5SE8uIzXJ2bKbtzoDqCP44wzbzp7VeO9H3ccft8KoHaE3g+MC0Hqh64FBCwz6M1LGUtiE/AqSqC1qpTUCeXITP5u1I8AZ5lHNh5KFZQ67KaH2m1AZNTUAQD5eBZoCaVOq3ex/ps2AWAHfnNIxLlLcodDvJLozdp ZGVVJR12 iLDVfopX/czcKicjBzP4Wa2QTkkibsdaUZexlQtZD4qRNJDeAQFGS3/g2vNIBdxgkbPYy71ucPKyUoR0XJa20VNvl36da26uiikRp4RZjr09od/qMBYnO7sINhwxlpgNj10RuuWKoUExLF15BrnfcXvX+E0wjYxwu8j/8UG71BUmnQtX5pUHZFqEcnAk0FWuwSt9vgMTRK/qXV8cUmr/QcFDikJIFrxbwVkJW0nvP3HMi2Qcwp/4NeKBPAzYXYoqctY64Ets6m8K5PkgBODHgObEA/fSNkVdL+WJyDEzQlKARqZNr8k4v5FEb4ZmYhiGGs+3cRHqlXypXTr5GZkAB1m1qx7ErFRzxtEzCEQkuSc8HVnfgqTLRiLvKHQN0NoWS4jnBqBfJc4wRsYGSlydJ/TE0BQ== 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 Sat, Jun 14, 2025 at 5:25=E2=80=AFAM Klara Modin = wrote: > > Hi, > > On 2025-05-14 21:38:54 -0600, Nico Pache wrote: > > setting /transparent_hugepages/enabled=3Dalways allows applications > > to benefit from THPs without having to madvise. However, the page fault > > handler takes very few considerations to decide weather or not to actua= lly > > use a THP. This can lead to a lot of wasted memory. khugepaged only > > operates on memory that was either allocated with enabled=3Dalways or > > MADV_HUGEPAGE. > > > > Introduce the ability to set enabled=3Ddefer, which will prevent THPs f= rom > > being allocated by the page fault handler unless madvise is set, > > leaving it up to khugepaged to decide which allocations will collapse t= o a > > THP. This should allow applications to benefits from THPs, while curbin= g > > some of the memory waste. > > > > Acked-by: Zi Yan > > Co-developed-by: Rafael Aquini > > Signed-off-by: Rafael Aquini > > Signed-off-by: Nico Pache > > ... > > > @@ -315,13 +318,20 @@ static ssize_t enabled_store(struct kobject *kobj= , > > > > if (sysfs_streq(buf, "always")) { > > clear_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, &transparen= t_hugepage_flags); > > + clear_bit(TRANSPARENT_HUGEPAGE_DEFER_PF_FLAG, &transparen= t_hugepage_flags); > > set_bit(TRANSPARENT_HUGEPAGE_FLAG, &transparent_hugepage_= flags); > > + } else if (sysfs_streq(buf, "defer")) { > > + clear_bit(TRANSPARENT_HUGEPAGE_FLAG, &transparent_hugepag= e_flags); > > + clear_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, &transparen= t_hugepage_flags); > > + set_bit(TRANSPARENT_HUGEPAGE_DEFER_PF_FLAG, &transparent_= hugepage_flags); > > } else if (sysfs_streq(buf, "madvise")) { > > clear_bit(TRANSPARENT_HUGEPAGE_FLAG, &transparent_hugepag= e_flags); > > + clear_bit(TRANSPARENT_HUGEPAGE_DEFER_PF_FLAG, &transparen= t_hugepage_flags); > > set_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, &transparent_= hugepage_flags); > > } else if (sysfs_streq(buf, "never")) { > > clear_bit(TRANSPARENT_HUGEPAGE_FLAG, &transparent_hugepag= e_flags); > > clear_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, &transparen= t_hugepage_flags); > > + clear_bit(TRANSPARENT_HUGEPAGE_DEFER_PF_FLAG, &transparen= t_hugepage_flags); > > } else > > ret =3D -EINVAL; > > > > @@ -954,18 +964,31 @@ static int __init setup_transparent_hugepage(char= *str) > > &transparent_hugepage_flags); > > clear_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, > > &transparent_hugepage_flags); > > + clear_bit(TRANSPARENT_HUGEPAGE_DEFER_PF_FLAG, > > + &transparent_hugepage_flags); > > ret =3D 1; > > + } else if (!strcmp(str, "defer")) { > > + clear_bit(TRANSPARENT_HUGEPAGE_FLAG, > > + &transparent_hugepage_flags); > > + clear_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, > > + &transparent_hugepage_flags); > > + set_bit(TRANSPARENT_HUGEPAGE_DEFER_PF_FLAG, > > + &transparent_hugepage_flags); > > There should probably be a corresponding > ret =3D 1; > here. Otherwise the cannot parse message will displayed even if defer > was set. Thanks Klara-- I will make sure to add it on the next version! > > > } else if (!strcmp(str, "madvise")) { > > clear_bit(TRANSPARENT_HUGEPAGE_FLAG, > > &transparent_hugepage_flags); > > + clear_bit(TRANSPARENT_HUGEPAGE_DEFER_PF_FLAG, > > + &transparent_hugepage_flags); > > set_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, > > - &transparent_hugepage_flags); > > + &transparent_hugepage_flags); > > ret =3D 1; > > } else if (!strcmp(str, "never")) { > > clear_bit(TRANSPARENT_HUGEPAGE_FLAG, > > &transparent_hugepage_flags); > > clear_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, > > &transparent_hugepage_flags); > > + clear_bit(TRANSPARENT_HUGEPAGE_DEFER_PF_FLAG, > > + &transparent_hugepage_flags); > > ret =3D 1; > > } > > out: > > -- > > 2.49.0 > > > > Regards, > Klara Modin >