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 64E73E69E97 for ; Mon, 2 Dec 2024 21:58:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A7E2C6B007B; Mon, 2 Dec 2024 16:58:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A2EFE6B0083; Mon, 2 Dec 2024 16:58:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F64C6B0085; Mon, 2 Dec 2024 16:58:18 -0500 (EST) 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 6A9856B007B for ; Mon, 2 Dec 2024 16:58:18 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 20381A02FE for ; Mon, 2 Dec 2024 21:58:18 +0000 (UTC) X-FDA: 82851382572.07.2B97D15 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by imf07.hostedemail.com (Postfix) with ESMTP id 8F1FA40014 for ; Mon, 2 Dec 2024 21:58:03 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hRnxZLDY; spf=pass (imf07.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=mjguzik@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=1733176683; 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=mrBbGY/AkvyAnPMS5AoFhOpFUDEMtFSR3nExs8D5+LU=; b=zn4mPKVHMq3/IFe3zFmxY7arh5OdH8hwZyOi7MBZo6RIOdRQtEOaljk3TgVLSsJMnTOQ4C g+FbRL5WeC/MxxtQEvSjety5chJjoONr2Cy/IIg85/J7nj/izRH1KJKHomUgZNDnXNRRi4 BAQd8451uwL/0+1zhVvOcYNK7FlPZn0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733176683; a=rsa-sha256; cv=none; b=BanofpGh6LSN3juZFP1BbmsnXSrbfErQ3q7Zj9fK1lGaTN2eXweGhCKwlHX4E57lsXP2UE D5jmDobftPSG/mvqZAALB31x46NCWZS6MndUgsPJ1hvnAzQKOjWJ4FcJ9zpaVcMwZq2Boj AjaqGDP8J74yYtlv8j/EjdvVAOKk2Jo= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hRnxZLDY; spf=pass (imf07.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5d0c098c870so5247685a12.1 for ; Mon, 02 Dec 2024 13:58:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733176695; x=1733781495; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=mrBbGY/AkvyAnPMS5AoFhOpFUDEMtFSR3nExs8D5+LU=; b=hRnxZLDYpdLn1tnWFfdB6MVMM2rG3mL6i1Qao0F9FjrYalk5WHc1xSduY4BfsolyOs hJ8olN6EO43Lo+TRMNse3K222lOMy7VycWcK4+5epNn/VJjaIY0F+5GuqO5YZ3ML4VWg jdH2jSS34DNBaSUyYSCakbQYXDUmYSwHUkgKF+mu9lw/7QmKku6n2cqh2y/u3QdHJzsy +PXPWaxYZussaxaoRZyUxQS2KexO/5hZdMCnnevx0p7c8AWbzGPa40V2+Q2pleLve/Xq IxFe5jPVN7jytvvYSj3gTt0DGUEdVOwHavMgA5mRPB54Vgzf5Z/+izHDKpkQWoKuaU3H /vDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733176695; x=1733781495; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=mrBbGY/AkvyAnPMS5AoFhOpFUDEMtFSR3nExs8D5+LU=; b=Vs/3tJF9ZI1YXDMR6PEItYHyT312r380oFfopI1YKklfVVA922z5rKi2aPRje5vxL/ X9xj52t/nSvN6S3u/rMHZ3q1LJp19pf1B5VIEaXAqQARtZkodbtDVAg8y/n+owGmn6rP kLlna5/LfyYoL40yIZnKPKVISFiVPgPb15IAhT6bJty/5TOigpiUi4FxSIDU0ybZH0gD +HWS2KTHfray2p0hlK/PUkfX84H0nU7mxxiBQwM5fDBPw+/Rl14nkti+rRCj4qNIjVTj jp1mbCjdMktK3zj3n+uNV5rzyjLddEmVZXKpQo8/gASMPn6zyr/sHjdUat0YdAEMWpk4 bflw== X-Gm-Message-State: AOJu0YypoXKEvC2z7fm5hF2pnv/VklVxpxK58kPpFGxn5TaLxvjAWxEC Hy7lswU72Rwby1wmKZ1loIHF42aQbco55frdjNO1dIt372dWzLjg X-Gm-Gg: ASbGnctlyIKY9Dgib7s8OpFeKXngbpFP+w+j8QEJ4O4MswROJp2RoY4ZBOten/fCYYQ HhXigx0VmwCa3YUiZUm/Rr5GLZ3clyEPulPRt6C6x22LcOnrtr5GuDrzvgaaPR1lnxkmr5D2CRy VMpvYz8OSPc6eSswMSwZ47eURdJq6g6Zx9XAxxU8rpotpL7WcyBXEflS6t0V654luWmAK7vxoQj UM4p3p8aYEjht71pb9wzX9bpYeVo0RKQbk8VBZOXcyiYfXYLSvKfsiZ+HNh X-Google-Smtp-Source: AGHT+IFv6TBZ6aOG0/JTNc8Vt0A1Qh+GjctKsIGgi8qOVpyNGGZQc7lLfKo4DABA0G+DDReqWQW1Ag== X-Received: by 2002:a05:6402:270e:b0:5d0:d845:2882 with SMTP id 4fb4d7f45d1cf-5d0d8452bfbmr10046018a12.13.1733176694488; Mon, 02 Dec 2024 13:58:14 -0800 (PST) Received: from f (cst-prg-22-5.cust.vodafone.cz. [46.135.22.5]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5d0bfa327dcsm3724662a12.83.2024.12.02.13.58.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Dec 2024 13:58:13 -0800 (PST) Date: Mon, 2 Dec 2024 22:58:04 +0100 From: Mateusz Guzik To: Frank van der Linden Cc: linux-mm@kvack.org, akpm@linux-foundation.org, Muchun Song , Miaohe Lin , Oscar Salvador , David Hildenbrand , Peter Xu , linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/hugetlb: optionally pre-zero hugetlb pages Message-ID: <3tqmyo3qqaykszxmrmkaa3fo5hndc4ok6xrxozjvlmq5qjv4cs@2geqqedyfzcf> References: <20241202202058.3249628-1-fvdl@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20241202202058.3249628-1-fvdl@google.com> X-Rspamd-Queue-Id: 8F1FA40014 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: s181aub6rhy8s1s4b87k3dmu7ronkdqw X-HE-Tag: 1733176683-839052 X-HE-Meta: U2FsdGVkX1+D7akNUcacBcaSv+rhxjwwtxsRLVvn9Qm7QcPmlaa5l9za9fxqjk2jQvXSqjQJ2Irb94DkC0n4hQKRWwksitu4iRjD80A/NIatwIpH74EiHsdd2c0gXMiQtgA2sYGelcYNsPBb3zMBQ33AmyjZ8lFXnPmV/DJsmhSsQLAmgOISpDvpZ63yo1LI7BwwYVNapJO7ThF+x02IYzOflWONC+6vc3hLKvOBlP8q9mY/yQvmox7GDtJtjk/vVHSuUKalpAC8w8wy2sV93ZTaTtgInqzoTS0We24An+n9TVFfNIDEBNRh8R1Z+//KvEqpnNs4YtjPDEYBSGEUyYiWW1U/HTPXK3+ON2RQ15sNmgEXQaDahi/cKpuTqfVLf5o+ChXex6OHch4BmeJCgHynrjrJZ1FdoViR6m+9zNGqczSezpoNHOJ5F9U+oZp9w3Tm76UCQ0VOa5aLxqXmsYwWJsugDoNBefOADWYA752nrpqKdlCgPk+b0KDe332iYNKxq1hzCb/wJLFDHyO5qiStXvDl4hAU61HSodRxCPJwbVf2I+VLlEKRWzeG9SBjvnGczsoMzI4S2Qw+RoaUlLlCO1AlhmR/pjXYTfRQtVkWbigMGw53COmHw1xbRQYUW0L/soqKhDP4Iw3GqkQNwTQGYmBlpmaN7gzDSPQWDwLdTnbmAeLHwNWITdiQalZLYpfxPp9rp4cJuhjoMTZAWUr3uRKex+wFFscN7htOlmaY86X0Oj4LxBmcoTBQrbn8sjTgkJVXBr1iq8uk6wnXxZwUWJITV519sLXsOKiytytOSccr6I2cIs6qvZ6B/TPRPx5Xlr2DUYcW8hp5zoezfMV0VXPd0662loTOlPtt08NWe3OkRPOotE8wh6Q3MZio/4QZoFraZzYixvm6dZc3fBCIg5gZ1LSMj+oOEjsa8D/lpUYt6zR+HZx+plZ2Hi61IkqHfxbDB4UKKrcpWk4 Uj+1Zw3z w/hKyFnlqBH55Bl6q+KLRugJJ0y/k9tx7pxmUIDV6B5hdQbsUigGaCR2eVppWMVVPJknmEY9G+1vn2u/0VhxGx3vNaOY0S24mAE7TLf8TkkyKeunOkLTP4t5JM46q7V1GiRq6NUnDUpLDV5grUofvkMJ4l2RwTL5AQd8eA+aHo0189FHR2WgnApEAtIEyK0TeUyRAatL6OU0gJ8JIZAxw9lb4pnEPVc/6N6ySqBtf7Z/ImJWRetcph3HaX78FTGxGWS7cKEPrEE8QhjqU2XyfMKokS7mj4f2f7C7AG93vbBO7ou4j3RuPd1fX34lfO2GNCLe16gK2ZHJlU4ys2tuOK27Ra+HBdhXH1UFLeU93A37OX+uGvI8hyp82AbS3MRtRWxo3KizeB1Za/PmmlJi1/MYvH3d7+iCeabTHWSxoagIC4YuDIPDZIAXKKjaObrrZ19Ro X-Bogosity: Ham, tests=bogofilter, spamicity=0.000605, 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 Mon, Dec 02, 2024 at 08:20:58PM +0000, Frank van der Linden wrote: > Fresh hugetlb pages are zeroed out when they are faulted in, > just like with all other page types. This can take up a good > amount of time for larger page sizes (e.g. around 40 > milliseconds for a 1G page on a recent AMD-based system). > > This normally isn't a problem, since hugetlb pages are typically > mapped by the application for a long time, and the initial > delay when touching them isn't much of an issue. > > However, there are some use cases where a large number of hugetlb > pages are touched when an application (such as a VM backed by these > pages) starts. For 256 1G pages and 40ms per page, this would take > 10 seconds, a noticeable delay. The current huge page zeroing code is not that great to begin with. There was a patchset posted some time ago to remedy at least some of it: https://lore.kernel.org/all/20230830184958.2333078-1-ankur.a.arora@oracle.com/ but it apparently fell through the cracks. Any games with "background zeroing" are notoriously crappy and I would argue one should exhaust other avenues before going there -- at the end of the day the cost of zeroing will have to get paid. To that end I would suggest picking up the patchset and experimenting with more variants of the zeroing code (for example for 1G it may be it is faster to employ SIMD usage in the routine). If this is really such a problem I wonder if this could start as a series of 2MB pages instead faulted as needed, eventually promoted to 1G after passing some threshold?