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 15F1DC433FE for ; Thu, 27 Jan 2022 08:56:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 947E66B0073; Thu, 27 Jan 2022 03:56:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 91E7B6B0075; Thu, 27 Jan 2022 03:56:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 80D336B0078; Thu, 27 Jan 2022 03:56:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0181.hostedemail.com [216.40.44.181]) by kanga.kvack.org (Postfix) with ESMTP id 725266B0073 for ; Thu, 27 Jan 2022 03:56:28 -0500 (EST) Received: from smtpin07.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 289F892743 for ; Thu, 27 Jan 2022 08:56:28 +0000 (UTC) X-FDA: 79075460856.07.9FDFBE9 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf19.hostedemail.com (Postfix) with ESMTP id 51CC21A000B for ; Thu, 27 Jan 2022 08:56:27 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 94C5F61B41; Thu, 27 Jan 2022 08:56:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C5EE1C340E4; Thu, 27 Jan 2022 08:56:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1643273785; bh=lNqF3mJPDGw233av00HH2FDJ+SSvpcSySTuoi9rmynY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sJub49UhZPTd7ncg8oXuofMZCo6X6gobjlkjNoRy1y+1HXcBHY+U6J8JKdChxUTlV R0xl4kpRAEkFcrTPU6gRBfYM2BxXOpQfX0BtpGfzuTwNcRpzrCWaJ3MmUQBMghVCTG OJFATAVFmYipeykdrlEZh2HYxm7jdb1pXj5tnJIhqIMdphYOG3rB3n7imGJu7/k7J/ rn77s05xi4g8Zw3XSc5a2YXu5jj4cgL2/P/zPqnr5yAe0MevN/qqGNbO6QJsGtTWR5 RE2fUvXkZAa2V4Huqd6ilml4no4fCJ25F1FDH8W5K0+EfZI6s0cKz6wMJ2deM3cgez XB8H56ynUjqzg== From: Mike Rapoport To: linux-mm@kvack.org Cc: Andrew Morton , Andy Lutomirski , Dave Hansen , Ira Weiny , Kees Cook , Mike Rapoport , Mike Rapoport , Peter Zijlstra , Rick Edgecombe , Vlastimil Babka , linux-kernel@vger.kernel.org, x86@kernel.org Subject: [RFC PATCH 2/3] mm/secretmem: use __GFP_UNMAPPED to allocate pages Date: Thu, 27 Jan 2022 10:56:07 +0200 Message-Id: <20220127085608.306306-3-rppt@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220127085608.306306-1-rppt@kernel.org> References: <20220127085608.306306-1-rppt@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 51CC21A000B X-Rspam-User: nil Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=sJub49Uh; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf19.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org X-Stat-Signature: 74mxxb65goxy8ts6ogo9xaazipptfc8x X-HE-Tag: 1643273787-524964 Content-Transfer-Encoding: quoted-printable 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: From: Mike Rapoport Currently secertmem explicitly removes allocated pages from the direct ma= p. This fragments direct map because allocated pages may reside in different pageblocks. Use __GFP_UNMAPPED to utilize caching of unmapped pages done by the page allocator. Signed-off-by: Mike Rapoport --- mm/secretmem.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/mm/secretmem.c b/mm/secretmem.c index 22b310adb53d..878ef004d7a7 100644 --- a/mm/secretmem.c +++ b/mm/secretmem.c @@ -63,16 +63,10 @@ static vm_fault_t secretmem_fault(struct vm_fault *vm= f) retry: page =3D find_lock_page(mapping, offset); if (!page) { - page =3D alloc_page(gfp | __GFP_ZERO); + page =3D alloc_page(gfp | __GFP_ZERO | __GFP_UNMAPPED); if (!page) return VM_FAULT_OOM; =20 - err =3D set_direct_map_invalid_noflush(page); - if (err) { - put_page(page); - return vmf_error(err); - } - __SetPageUptodate(page); err =3D add_to_page_cache_lru(page, mapping, offset, gfp); if (unlikely(err)) { --=20 2.34.1