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 6C38DC64EC4 for ; Thu, 9 Mar 2023 06:31:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 908B26B0071; Thu, 9 Mar 2023 01:31:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8B7EA6B0072; Thu, 9 Mar 2023 01:31:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 77F87280001; Thu, 9 Mar 2023 01:31:37 -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 689326B0071 for ; Thu, 9 Mar 2023 01:31:37 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 2AF3C1C67DC for ; Thu, 9 Mar 2023 06:31:37 +0000 (UTC) X-FDA: 80548388634.28.C86BACF Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by imf08.hostedemail.com (Postfix) with ESMTP id 4D16E16001D for ; Thu, 9 Mar 2023 06:31:35 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=XxCnzBuB; spf=pass (imf08.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=42.hyeyoo@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=1678343495; 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=hHiDNEIuddEYc3xNn4RWgU642tcrPWESFH0u3putV3Y=; b=YwEZjty4uZvpwmt2dp5cqUrDhlENBaXlfcCJM7zr8ootHJd/F2ZXP6E0wyUm3peEnbfiwo gpqGGFU2vNxe3d0TwvYsV6W1rEiaNtNcmPBgoxjrgRYpd+YqJMcD3PKa/NU1Bm/R1uSkTi 1sDQFjhKUbmdrXa2rtJxtNj36iYTNQk= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=XxCnzBuB; spf=pass (imf08.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678343495; a=rsa-sha256; cv=none; b=iUKS5OHPkmQx3Aehq9CaXhe1ncagp/CHCfl4vJxaezpkq7zCRdgq76ZHpYOXyVEsx4l52j pGbo4e3CViHzJLUZ2wy7wHnbBRtijLh4sXXUv5PSqeMVEqEdrEcLMgZnq1UV8Fa1s+NmnY vz3eQxXam/VMawG1gdI+zJ8Efrp3cVM= Received: by mail-pl1-f179.google.com with SMTP id i5so998045pla.2 for ; Wed, 08 Mar 2023 22:31:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678343494; 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=hHiDNEIuddEYc3xNn4RWgU642tcrPWESFH0u3putV3Y=; b=XxCnzBuBCM/7yUSrjwZL0yHN/4WUWX6okvCTZA+EOJXZbNGoNWk3OUaaQJHab0d/h2 M9oXltkSwHlrzhzX70Y4KOQCmMFkw5BNZO4/8hjsYjtswxq8I20Z39E0dJjHC7KG9mQP lCV0ezpps9R04KO8LdHLgiaIgY3+3b6v4DwZb64WVB7m+7Im4mnCK6fGSA1FWOBZ9UCp 0uh8Ov90PfBOYEgw5uBYBXsPgBrdkxzBqkN112jJpiXCsB3M+dQloaEDnEG81TZW7fAz 4QMJWhuJJ+MZgX70Q3msmNtn8kyWxWluxxE6FFtCISXDngATeGNNWaj2qpdshJI/RAhf TSvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678343494; 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=hHiDNEIuddEYc3xNn4RWgU642tcrPWESFH0u3putV3Y=; b=M8PD2kBTBhApxAF71gSmh7taQhi7vzzLEaE8u60CFwWNOPWp7j5OUhXdk/OoL09Wkq EOyxSn3EiPRxUlDBH1WUGtYMEVf8PK5Qtsw0SzxBzeMVJ94b0tBv7sJ7vKVkptz/Yu2i 2PL8W+ZfHtTzXdobDOcbMQi9/FQ+4Lgcq59uO9FAo5fvuFuQMBMksvfN+cTnQisM/UwB cc8O7YNDhWVilIJO6xXv9aHuXmmf1nGjF5A7LqaFAbRUuKVwpfJPaRw8oCsmBm7eFGF3 mbh2+ulKkkJwU6fCwW07dtlSq0N+cOcPyT1yoPFDGYP1ANpcn2HKtZ6evB7blvqm/6WU WnrA== X-Gm-Message-State: AO0yUKXnQLRmk1/uJGF3sfHaji8RhhP+4KDcvOvIoqmo2euvY8jVhh+8 ACMKBl9GPe/PGphRVaab+8s= X-Google-Smtp-Source: AK7set/h36exTu0G/SORM8/uHPt4jXa+WpEAJQPd9xyvSxthLaHGp/NriJnWoW3wbr64olGkvadK9w== X-Received: by 2002:a17:902:ea04:b0:19e:6e9d:4bd with SMTP id s4-20020a170902ea0400b0019e6e9d04bdmr25940990plg.43.1678343493946; Wed, 08 Mar 2023 22:31:33 -0800 (PST) Received: from localhost ([2400:8902::f03c:93ff:fe27:642a]) by smtp.gmail.com with ESMTPSA id b21-20020a170902d31500b0019a7d6a9a76sm10838183plc.111.2023.03.08.22.31.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Mar 2023 22:31:32 -0800 (PST) Date: Thu, 9 Mar 2023 06:31:25 +0000 From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: Mike Rapoport Cc: linux-mm@kvack.org, Andrew Morton , Dave Hansen , Peter Zijlstra , Rick Edgecombe , Song Liu , Thomas Gleixner , Vlastimil Babka , linux-kernel@vger.kernel.org, x86@kernel.org Subject: Re: [RFC PATCH 1/5] mm: intorduce __GFP_UNMAPPED and unmapped_alloc() Message-ID: References: <20230308094106.227365-1-rppt@kernel.org> <20230308094106.227365-2-rppt@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230308094106.227365-2-rppt@kernel.org> X-Stat-Signature: so3drfgkmc9qs8mmrujizraty14mdzr3 X-Rspam-User: X-Rspamd-Queue-Id: 4D16E16001D X-Rspamd-Server: rspam06 X-HE-Tag: 1678343495-795294 X-HE-Meta: U2FsdGVkX189mljlfBiF8pbB5/SC+NVoLqb/hzjRkSXbUeOLnBKv2YbEANM+m3v7L0mcbAHSlLNPILAi3ElyV5Zo2o0FIfpYfJSjqGUhBFfogH+dRpurcsnMmndxyfJFpf9PQWG9U3LowLVzIuBjEe2xEqci0OohWuRN3uMK5YEhn3Ot255u/Hwzsm9kVDJeJ7BTDqRMsvivWZ6vRerU1C1/EwitrGNFSVrUWvoVb1FINUUXM8M0eg1HETqd7NjUFFXZFTK08w0jNdOCh6vtmdtNPnY5Oiis1xM4/jhtu2Wrd/spsjLhsP+lNcPbAapryW1ulyaBOVE1l3G5+eknJeMlWrkHaCUM23LxC0Ttqe4hqDEfdbz4gF/e3h4wMzJoXyZgHNZkzcdrWQ1+h0cj+hC+acEozKsHui/+s6YkTG2UYBpPjL1Trh/dwUTXUUete/FDvu25oMvSPAMvtIf19knzkvYJCO3eXTApQQEHFY2QH7HWRxOnyXnu3WKCcKLm9FdEuPIXWzZCvPiqXADniiQG+KKDqBOGPedviAWcxx7JxSPkMYx6/pYygr7mkRHYWmHsER5SzPjRatOO6UoLTwBBFW+S7wKNvUrCuoAJLIeShG3O085XPF2KJR08msKDiy+fwvUePIP6zMqYC/Q++jGqEN3+0ho1omlXWuO+sT7v4C+BruHVYTYfEEwGS9jO0s7v+hHo+qx0OkYLDz3ZmplQRFMf8N8iE9J8HVNvjQe7FL5QqLuHRAEGuaMszVriBvLOVpyTjZeb0Iu3+PoYPbC+MOKUUY2OJGbDkhkRyhApK27Jfc1Rht078S3cocWZBtvehf3py/eehNNmwS1nURF8dmU7lpeQGO3Axd7eRSaipRNkoG/FPXB+SSChYiYqkkrYaBhkdp39YmSroZyyS6gKKIf+2hVz+NxG9F8BQH3ux9/762jd7iMlf+Yq4hG1p3WlmEE3NUpCHzzISiE A5cuwmwq GSEKZWq1VI8DC5pmlJLIZ4hLckyiUd8QkKC4ykcR2N33RCWnm2nPIRLfk+b2gy3DD5jUaKVJGOzkvtpWV7aKfga69xvO1kGVgT8EtRS2uJSOGDNkaXfHUoimuthPVxroENoQ9JT/Y/JnlIjC4qh8PjnTs9ELhuqzYkSHgQncOQLi+vgp+3RyAmDsRqBnmiZzosJXyHEk1cnUa3L64dYNSxDOjA0cF2IO2Z3rtIZdRvu3qqhNLb5z3F4ks+z7m9kRt+yA6FROaxq+MdkdyDhc+4BZ5bjQ5pxUDf+uyAdb9k4SjXfh02DgLwWNJLR3/K8NVoqGl3/6janBNy8q68w+kvR0LIJWVAe5aHxnXep34kid6mxY02wa4HSDO9H/fT9Kl/xOqVR5Z562jL1Ou/7eAa8Pxtd56xDUrOeyiUuHjbPW6+5BHp7upwcAwglq9ma+Y+c/I2mRPlUyGj6vsqYgnbR/cpuqdNpYkZilP4c0xyXP/tHPG+fxj3MHSrgWLxI+0xp4GLkU7N6OWDS6jWhaON0+XNj15J4FvKpI2m5ysKLPeG3q1ldqAE9+92PfEKOYq6n8q 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: On Wed, Mar 08, 2023 at 11:41:02AM +0200, Mike Rapoport wrote: > From: "Mike Rapoport (IBM)" > > When set_memory or set_direct_map APIs used to change attribute or > permissions for chunks of several pages, the large PMD that maps these > pages in the direct map must be split. Fragmenting the direct map in such > manner causes TLB pressure and, eventually, performance degradation. > > To avoid excessive direct map fragmentation, add ability to allocate > "unmapped" pages with __GFP_UNMAPPED flag that will cause removal of the > allocated pages from the direct map and use a cache of the unmapped pages. > > This cache is replenished with higher order pages with preference for > PMD_SIZE pages when possible so that there will be fewer splits of large > pages in the direct map. > > The cache is implemented as a buddy allocator, so it can serve high order > allocations of unmapped pages. Hello, To me it seems unnecessary to increase pageblock bitmap size just to distinguish if it is allocated with __GFP_UNMAPPED. I think this can be implemented as an independent cache on top of buddy allocator, and introducing new API for unmapped page allocation and freeing? Thanks, Hyeonggon