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 2A36DC71130 for ; Mon, 7 Jul 2025 16:18:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9719A6B03F9; Mon, 7 Jul 2025 12:18:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9499D6B03FA; Mon, 7 Jul 2025 12:18:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8866A6B03FC; Mon, 7 Jul 2025 12:18:54 -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 72EC46B03F9 for ; Mon, 7 Jul 2025 12:18:54 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id EF12D1A01BF for ; Mon, 7 Jul 2025 16:18:53 +0000 (UTC) X-FDA: 83637977346.09.49BF218 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by imf27.hostedemail.com (Postfix) with ESMTP id 1B9BC40016 for ; Mon, 7 Jul 2025 16:18:51 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=m4T8HuD9; spf=pass (imf27.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.54 as permitted sender) smtp.mailfrom=vishal.moola@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=1751905132; 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=zzS5ZyXhRFJQPdtT7pJWRReoUeeAi7PGNzHa/PItqiU=; b=dbRkZxcyGxBkiei2+B+hkm3VLR16t9BFxuDxDcQg/eUbZljtNGWdFc9+j0qgC2/qDol78W B0awIZwM8dkoe6Ff4C7rOE/zlWJ1MvHIPLhyLye7qx9UGRIpd5yujKQ04fnMTppkM/N3+U 6a/+Ei0ElwaX0JVIJEejpbv1usqqGjM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751905132; a=rsa-sha256; cv=none; b=MJhIbUxmFuUAs/kP8XMElMGsDAX3qFP9/DoR5+Y5vbUkBnTFyTEY2/HHb6eFMIpeDDVvvl 23WvJcomQbRzLLx53EdXlsEV5DsHBd58Sa19GGZFXXT8yukEwEVXhaGhqiw0CRlXrD53In a3cu9rf9ziIXW6kHh/6BMYGBFczWlVI= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=m4T8HuD9; spf=pass (imf27.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.54 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-31332cff2d5so3074586a91.1 for ; Mon, 07 Jul 2025 09:18:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751905131; x=1752509931; 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=zzS5ZyXhRFJQPdtT7pJWRReoUeeAi7PGNzHa/PItqiU=; b=m4T8HuD96kHX4qPhHMU/kNuGMoBIUxpB7eqKDHnzWIvB4sdH2PJHjVujN4ADdyPTti tWvIEi9JuRJONLjoKNuWH1JMxgZoqeFoY9cvc/hdA87L5UETtRpSlPYDHS4MUvSh1Eke vXmaWYNgMB2eusW86jqT/UK3UT5qlO4iQ0HK1re6vm4TAagieKaUZB61w4utg3TR18BK 7I6COatCduoOR7mFun4YnktXleSQ8AJLfOB0r+5h0zY+aMemQ/ZW4QdJB5ghPxfqZ6lo +mUqQsylDO6vVsMUDNw3x6T/sz+YcT5jxibqgIlQkpGgrPa2IMy3fMxXRE5VB4dHcs00 eVkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751905131; x=1752509931; 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=zzS5ZyXhRFJQPdtT7pJWRReoUeeAi7PGNzHa/PItqiU=; b=nLEhB+uIlU/yLm0ohPPdOLVWcsFHAO7WwN1GQhKzLxQZ1McIvZOJMcOv3omDk9wJaA fdF5J77OlxwZNkr+LslaNNa/akVVddq02HXfoA/HVSZpE0YoM/U7S+xo6XlG+k8+rLpv 3SvU3GVjixVYUrKVArrdQkXndU0h27zpCX5ZZDW+wHNUEnowiSkwnyaRYxw7DiOGkVFJ RBVKuKETfJ8gjkfHqxmSrEHaEktznDTlRRIbpxzOx3ZLk/ypplTNdffsjzCff4zCDwog n//Yqc7bIZbmK9yFJQuVYFJ8jJvu9WOlBA9rDlXnf9dmUNVo/tvKbEfBf9MSFkEIeDWd lBUw== X-Forwarded-Encrypted: i=1; AJvYcCVX09NRyrfLfWCtfLlIgvudn4dxjVOADrtsChXYastCQU/mwOn0jGDM9XiAgkPiXJUXasfdDSpPYQ==@kvack.org X-Gm-Message-State: AOJu0YzOQKfkvQX2n6TLHqOQvE0zabwAeNr9Xe1ICSUX8v3218B067dC vsW0yOJX2Hb1UzC3f74Wo9D5CHPLNGs0zeGlbMRDFMpBTgRrKmyFIqUzkZnWhQ== X-Gm-Gg: ASbGncuJZGSE+w/UhjWvi9BQ+XUUadC37HZUnKzQtreWH9+7olkVF0/nkMostT+aiQI YIl67Yhaoyk4TXtl44Rw6sYPPvt6e8zg4LVqkos+EEnrdU/bdpPO2fhwIZXHIuK537v6LFYXjXN ZK6O/tEizDqcKfEgb+nVkiorm8JA7vhvPFrfzgVflOkzyHIiQScNFxAUTt01OxfGN7bn90aA2R9 Y/+WC8uWIT8wO8YmWVkyzgcEiAMWicThfuE4IcKtQuCXYdAOry01vmaC9MUWCPiDoH4Ym3TBjw0 sVQAEGdcTM15mJLch1kdiOvfC9lSK04BF0ScV/fjBVcjnpGZZiHOuAy9ZMnBaDap75rv9pGySf1 lXBfCyqHKHeWJsJctIw== X-Google-Smtp-Source: AGHT+IEFMLWJBeYDvpnTUie9w5m1R0hi9Kd6o+X3gA7ub8wJ283E92i6zDwHtWATmQshNQ9PtPwRAw== X-Received: by 2002:a17:90b:4e86:b0:311:e8cc:425d with SMTP id 98e67ed59e1d1-31c20cce7c1mr130079a91.10.1751905130691; Mon, 07 Jul 2025 09:18:50 -0700 (PDT) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31aaae6b6casm10040486a91.18.2025.07.07.09.18.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 09:18:50 -0700 (PDT) Date: Mon, 7 Jul 2025 09:18:46 -0700 From: "Vishal Moola (Oracle)" To: Baolin Wang Cc: akpm@linux-foundation.org, hughd@google.com, david@redhat.com, ziy@nvidia.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] mm: fault in complete folios instead of individual pages for tmpfs Message-ID: References: <440940e78aeb7430c5cc8b6d2088ae98265b9809.1751599072.git.baolin.wang@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <440940e78aeb7430c5cc8b6d2088ae98265b9809.1751599072.git.baolin.wang@linux.alibaba.com> X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 1B9BC40016 X-Stat-Signature: ojojyz14enpfag8t9iuahy6y3pdho1cx X-HE-Tag: 1751905131-555269 X-HE-Meta: U2FsdGVkX1/shtjrz1+6eFfjL5y5jlUbLPyPPVasxXtF890y4JR1UVb8w755GIsMP7loco+nQ7tJE9FUNJ9XctlGqJMDvT2PVXtH9uL5XZalp0pzvpaOvGrtqF4y+CUS6qTTxpPjsGOOFo8l2DAX4Mj8A4f//kLj0WJaHYn0WS/UXb1ZGz4JjgIPizb2tpCwg+5cDuQ/1veAHr6UKnSdhXoPBfcJHhYqKdc/sT33lu0SHUkWlHJsoqSjXqFYSp7ZD/Y//mKbhj5Vo3uI9h3MIuG0OkzOOmNjQF20A/4nitOnFI/OOIybugf8EIm+jpGxCj3fpFJ8zPgDYF0ZOb3wA46wWDpod+TA18h5tp+6pE9Tir9UF5Hnt/oHZkEhnz/i4fe7vdOW7UCJyb7pKcgXk1dzXwSPMBWvXjxp61XJwqSxZMSJgTRwozlzLaeu8kYVo2by1IwTzzSKZB9rJmvWPPqTk2FCPkuuolRV2p3T7k+//+LCzSz51ZVaB7UflErHH0WmjeBhFGA51wzzF5O/kekAb98v8mmjhtiEdSSJUNhcEhf1W3uAqf0can65tu7FWpz1zFm1XyRXubmGdoh5oKe7gd/HQucS1uc4wVUIg2Ap/lWNQJ9TbEngbppqMM5zM83EI7+G4eWfIHoNLj4K2xomtvQeec4BSvu8VLof1+b8BPzRD+4SFj1j7Zr+YQeNM3vtxFi1fK2EBxnNuBEFNARs2VLnuZxxSfWf5nBoT+XosQFAHvpu4EA6z8RGU+vW0rX0GPOGRc/B9L3F3xrINb2uwNgY/r1N2vfQUQpmGyBbr4TqodP5vTEQUmm6oBTbJgT35AESgJ8ad5MZfsMZXm11r3WDYuwvf0W2P/BhzQ9G5X9zleIobrG91b4BSxY4Ht28LAfyYsI4YTJjeW0m+Kd0NMmapQb5LFE/x2xsSBe2ZPPyjd9oD7/J5XYMZA2NfbszKOppnvPCKgIP2TO bpq8+qa+ dUv+q1GLSimGh3lIaamBZ9AJkGwrRLZLOhtgKS0qLmhRlSP2Z/Xi2kuXgrR5uryU9NfLk45XH5nV008I6sMAuuN4Z4AruK/1Q5or/2XReSXJjOJG7DQ5WtjB21LaEOKlzLc/wuwQMc5RiXo7WvELWDDLJC0ZMvHkT9taodVQvOxYJR8zJUuYxwsidJEKBF+bQGvdDUCMimPacOEFjHfDL17qudkB7zP5kWyo08bTUMHF+40LmlUQvcfg1rWFPp4v5XpmaiyoPj3+59O0vMGd59SoPkduMchuPS3cFVY54heuUCH7O3Vy/lUU2vcqo8iBm0sIFM3K/jfPum0ivQ+/SyVJ+7uUIHEm09Ssd6p9/1VXFV250gT9h/Ee2ftPDQhO8jYosCdFBmM+bcOf5C1c9ucWnkIqYCzW4pM/7Jo7rjFhIkbRnO/RGCnpMLDb/fxMz2l8ma73tMTi4s3mCratySgSrlWcN/5ARX+x04vI8vfmpEvXhFCNU3b1o3KdUSMXX4N0l 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 Fri, Jul 04, 2025 at 11:19:26AM +0800, Baolin Wang wrote: > After commit acd7ccb284b8 ("mm: shmem: add large folio support for tmpfs"), > tmpfs can also support large folio allocation (not just PMD-sized large > folios). > > However, when accessing tmpfs via mmap(), although tmpfs supports large folios, > we still establish mappings at the base page granularity, which is unreasonable. > > We can map multiple consecutive pages of a tmpfs folios at once according to > the size of the large folio. On one hand, this can reduce the overhead of page > faults; on the other hand, it can leverage hardware architecture optimizations > to reduce TLB misses, such as contiguous PTEs on the ARM architecture. > > Moreover, tmpfs mount will use the 'huge=' option to control large folio > allocation explicitly. So it can be understood that the process's RSS statistics > might increase, and I think this will not cause any obvious effects for users. > > Performance test: > I created a 1G tmpfs file, populated with 64K large folios, and write-accessed it > sequentially via mmap(). I observed a significant performance improvement: > > Before the patch: > real 0m0.158s > user 0m0.008s > sys 0m0.150s > > After the patch: > real 0m0.021s > user 0m0.004s > sys 0m0.017s > > Signed-off-by: Baolin Wang Reviewed-by: Vishal Moola (Oracle)