From patchwork Sat Oct 28 21:15:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Gomez X-Patchwork-Id: 13439579 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 6D058C0018C for ; Sat, 28 Oct 2023 21:16:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BA2576B0322; Sat, 28 Oct 2023 17:15:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B01566B0329; Sat, 28 Oct 2023 17:15:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8DF546B032B; Sat, 28 Oct 2023 17:15:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 756EC6B0322 for ; Sat, 28 Oct 2023 17:15:54 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 56764B5662 for ; Sat, 28 Oct 2023 21:15:54 +0000 (UTC) X-FDA: 81396127428.19.E483331 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by imf23.hostedemail.com (Postfix) with ESMTP id 64047140006 for ; Sat, 28 Oct 2023 21:15:51 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b="NpS6/cZU"; spf=pass (imf23.hostedemail.com: domain of da.gomez@samsung.com designates 210.118.77.11 as permitted sender) smtp.mailfrom=da.gomez@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698527751; 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=KMahjoHxxEGT5gaBZBeFILgQTlTnM1MpN5QmTOlrbgg=; b=d53VqVzhynyr3OkkTWkho24bHTN7GbKOIfr/kb7haxMhXS2n9G+DEobaiBFP6QSJResTLD caA648vXyGCo/JYavBTpoxUj+R721wB/vge9iHjZ8cJ+/77K+y1jjBb1ZWQPKG7hLfRaTi MZ4auLWLgvDwzh24+CQr0aRlM2cg3zY= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b="NpS6/cZU"; spf=pass (imf23.hostedemail.com: domain of da.gomez@samsung.com designates 210.118.77.11 as permitted sender) smtp.mailfrom=da.gomez@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698527751; a=rsa-sha256; cv=none; b=hMrD471RhVTEVB0LKttzuFQn3mVRY4Z0IR1r8yNut84bzVLNgT3iW0TOtjy31/zd3ytoTr qhqaUEKHC0qXvdQyLBKKqxE7IyO2/oEF2U03Ta1qEsazhkzyuSlHwK+5QzAzWSHvKScUYh Yav8PexCQ0wnD17OzHX+9U7IkhzAlpY= Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20231028211549euoutp01b0b72d8ef2e55402d6eb259fd2fa7220~SYf0toLE03100431004euoutp01U for ; Sat, 28 Oct 2023 21:15:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20231028211549euoutp01b0b72d8ef2e55402d6eb259fd2fa7220~SYf0toLE03100431004euoutp01U DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1698527749; bh=KMahjoHxxEGT5gaBZBeFILgQTlTnM1MpN5QmTOlrbgg=; h=From:To:CC:Subject:Date:In-Reply-To:References:From; b=NpS6/cZUu5469ui0A5b4Affrh1LC9nZowLTonIS7cPKyDXrNdXVKaiyGJ1TnafE5y 4LZwZlvKcCw+9knXLxqd9tEsMBJwbMd4urVuLB7SzQre8J+EYyRm/gtGPXy8T2oiHE yjjkGvf2Jw+yP7iqeks84/0G685vWSuoHbxoybrU= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20231028211549eucas1p2fc824cd9bc602e094c2b9bc40e72187b~SYf0VLXIT1087910879eucas1p2M; Sat, 28 Oct 2023 21:15:49 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id FC.57.37758.40A7D356; Sat, 28 Oct 2023 22:15:48 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20231028211546eucas1p2147a423b26a6fa92be7e6c20df429da5~SYfyRbpOf1224812248eucas1p2A; Sat, 28 Oct 2023 21:15:46 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20231028211546eusmtrp2c9f70e6608c90b52dc9e964b9cdca2d6~SYfyQ6t5Z1141411414eusmtrp2e; Sat, 28 Oct 2023 21:15:46 +0000 (GMT) X-AuditID: cbfec7f5-7ffff7000002937e-05-653d7a045348 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id AF.F0.25043.20A7D356; Sat, 28 Oct 2023 22:15:46 +0100 (BST) Received: from CAMSVWEXC01.scsc.local (unknown [106.1.227.71]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20231028211546eusmtip1b8f4d77fa5acb0d4af2695620577282c~SYfyEc2tN0467404674eusmtip1Q; Sat, 28 Oct 2023 21:15:46 +0000 (GMT) Received: from CAMSVWEXC02.scsc.local (2002:6a01:e348::6a01:e348) by CAMSVWEXC01.scsc.local (2002:6a01:e347::6a01:e347) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 28 Oct 2023 22:15:46 +0100 Received: from CAMSVWEXC02.scsc.local ([::1]) by CAMSVWEXC02.scsc.local ([fe80::3c08:6c51:fa0a:6384%13]) with mapi id 15.00.1497.012; Sat, 28 Oct 2023 22:15:45 +0100 From: Daniel Gomez To: "minchan@kernel.org" , "senozhatsky@chromium.org" , "axboe@kernel.dk" , "djwong@kernel.org" , "willy@infradead.org" , "hughd@google.com" , "akpm@linux-foundation.org" , "mcgrof@kernel.org" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" , "linux-xfs@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-mm@kvack.org" CC: "gost.dev@samsung.com" , Pankaj Raghav , Daniel Gomez Subject: [RFC PATCH 07/11] shmem: remove huge arg from shmem_alloc_and_add_folio() Thread-Topic: [RFC PATCH 07/11] shmem: remove huge arg from shmem_alloc_and_add_folio() Thread-Index: AQHaCePqWfxF+qVFe0qg34umJ1pkKA== Date: Sat, 28 Oct 2023 21:15:45 +0000 Message-ID: <20231028211518.3424020-8-da.gomez@samsung.com> In-Reply-To: <20231028211518.3424020-1-da.gomez@samsung.com> Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [106.110.32.103] MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrKKsWRmVeSWpSXmKPExsWy7djPc7osVbapBoenWlrMWb+GzWL13X42 i8tP+Cyefupjsdh7S9tiz96TLBaXd81hs7i35j+rxa4/O9gtbkx4ymix7Ot7dovdGxexWfz+ MYfNgddjdsNFFo8Fm0o9Nq/Q8rh8ttRj06pONo9Nnyaxe5yY8ZvF4/MmuQCOKC6blNSczLLU In27BK6Mh5N2sxcsEqo4/ES4gfENXxcjJ4eEgInE2n3fWEBsIYEVjBKPJ8Z1MXIB2V8YJVbt Oc4I4XxmlHi9qgvI4QDruPuFEyK+nFHi1tclbBDdQEVfFnJBJM4wSlxf844FwlnJKLFp4kQm kCo2AU2JfSc3sYMkRARms0ocXtzBCJJgFqiTWPNsFgvICmGBEIk3TUEgpohApMTc2WALRAT0 JG78nccMEmYRUJXY1FUIEuYVsJb413OOFcTmFLCRuP9tO1g5o4CsxKOVv9ghhotL3Hoynwni Y0GJRbP3MEPYYhL/dj1kg7B1JM5ef8IIYRtIbF26jwXCVpL407EQ6kigE6ZOYYOwtSWWLXzN DHGDoMTJmU/A3pUQaOKSOPX6A9QCF4kz0xvZIWxhiVfHt0DZMhL/d85nmsCoPQvJfbOQ7JiF ZMcsJDsWMLKsYhRPLS3OTU8tNs5LLdcrTswtLs1L10vOz93ECExpp/8d/7qDccWrj3qHGJk4 GA8xSnAwK4nwMjvapArxpiRWVqUW5ccXleakFh9ilOZgURLnVU2RTxUSSE8sSc1OTS1ILYLJ MnFwSjUwzT56fvrH+S5Jb2ueTORgXruvRnfy3kX/47Nceh5cKwhaK+F/w/v8FYfY3Wm9yzYc uxozN3BCgRyPf0HqehHJYk8n72sSdVOrdng+5HMomH8raHUaj/S8GVdChRZmz91xeorGy9bW v3EsKtsu3tJVuVNqGvk1dFPtH5WdkeZp88ONLxxmVkt99+HISSE+Bp26vUcXx7rd9Vz/8jzT ZfcfK1ynar/surM7Uv+CzJY3YS+WrX9ZUJZbvmeFT0eE4bo1O3Rebr03a+PFhcvFWF7s9Q2K Kd3VKphTmefZ47nDmHf1zBR9sZ/Xe2X4vodfmLvcwNMkJe3huopzpecm1fkJxJ+I57YOSRAI O1z46ue7K0osxRmJhlrMRcWJAHkGjYrYAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrIKsWRmVeSWpSXmKPExsVy+t/xu7pMVbapBp836VnMWb+GzWL13X42 i8tP+Cyefupjsdh7S9tiz96TLBaXd81hs7i35j+rxa4/O9gtbkx4ymix7Ot7dovdGxexWfz+ MYfNgddjdsNFFo8Fm0o9Nq/Q8rh8ttRj06pONo9Nnyaxe5yY8ZvF4/MmuQCOKD2bovzSklSF jPziElulaEMLIz1DSws9IxNLPUNj81grI1MlfTublNSczLLUIn27BL2Mh5N2sxcsEqo4/ES4 gfENXxcjB4eEgInE3S+cXYxcHEICSxklpk16y9rFyAkUl5HY+OUqlC0s8edaFxtE0UdGib9/ HzOCJIQEzjBKnH9aDpFYySixb8kksASbgKbEvpOb2EESIgKzWSUOL+4ASzAL1EmseTaLBWS1 sECIxJumIJCwiECkxIS2bkYIW0/ixt95zCAlLAKqEpu6CkHCvALWEv96zrGChIUEciX62zJB wpwCNhL3v21nA7EZBWQlHq38xQ6xSFzi1pP5TBD3C0gs2XOeGcIWlXj5+B/UXzoSZ68/YYSw DSS2Lt3HAmErSfzpWAh1MNA1U6ewQdjaEssWvmaGOEdQ4uTMJywTGKVnIVk3C0nLLCQts5C0 LGBkWcUoklpanJueW2ykV5yYW1yal66XnJ+7iRGYlrYd+7llB+PKVx/1DjEycTAeYpTgYFYS 4WV2tEkV4k1JrKxKLcqPLyrNSS0+xGgKDKGJzFKiyfnAxJhXEm9oZmBqaGJmaWBqaWasJM7r WdCRKCSQnliSmp2aWpBaBNPHxMEp1cBks26VznGhj91Xr5m8ZpLoz6jMnXtSun7dzUbri1qW 397emvzNawZjSlfOxk1PpRNvmU88dWVWedtuOyEdi7rogBLmfxbM196sM01a8GzajgsT3yv6 FC7w2KWf+uDmF2OWsP/lfQ+fJgXn2XS05d/aVZtWf/K8URvX5vuSoa+3ngtZd+oQ66+Enfu0 /B5VqRjJrDnWedNwyRG9CCvWh+EHn39XfmolML3Inff9tR8xW7R0nIOVhc3v7Rf4WVJfrLx1 MeN0dv4Lsda2kc9qzxwN/bTdusf+hZea09sjL2WYNp9vX6PEG6cvt9P5QV//a66Yuc/O/Utm d03/XTU72TEo9pztvSbThUm9S+Yqf01TYinOSDTUYi4qTgQA2WR+ZdQDAAA= X-CMS-MailID: 20231028211546eucas1p2147a423b26a6fa92be7e6c20df429da5 X-Msg-Generator: CA X-RootMTR: 20231028211546eucas1p2147a423b26a6fa92be7e6c20df429da5 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20231028211546eucas1p2147a423b26a6fa92be7e6c20df429da5 References: <20230919135536.2165715-1-da.gomez@samsung.com> <20231028211518.3424020-1-da.gomez@samsung.com> X-Rspamd-Queue-Id: 64047140006 X-Rspam-User: X-Stat-Signature: fkyhacbbc4bqij8rdxh1ygdnouk1yhua X-Rspamd-Server: rspam01 X-HE-Tag: 1698527751-12588 X-HE-Meta: U2FsdGVkX1/zC+Z5Wn3K3NMbuJl1zFS2CxE9uyl0kKgrW0kUor1iKXjkMhmiUk7nXq7fD5b7W2E5jpTqBsYpul/dUAW26k1wm90QnDO7cpi2JW7BTSRBqfLmr/c7V4tE/gn5ydl0pumuv0WrVoCUs52SQ9Zy6l+g/s9DW5DlcNfpbh7DLV0SjvNNECLo/SpqvOiaKbiP/Ly+kfz3DMfoSrohdjHswFeedRhOo230OmVpWjvZ3Tog2AxOLiT3HkWAcrtZimKMMLTAkuZetzZWwEfxNijpYMMCmFeog4oCokc5a3EyQ78j6N1UnkaY4FLZ7E1XzuB2oeIcr3tULQoLGZtAJ4E9zpp7ojZuEDl8i4G6NKk/1cOMM/WyWRLtR7zYSm21kARD2h6zcX0d87f5nre4nsevO0OUK8xFGEr6FituSpNa2/gg5HBA6mgS610hHyzlSkJZge/EWYjwvqC62UUsf2gv/gNNuxqlLE2S96qIWzVYRhUXPcBQtTGMC+MQpX9BYGnxB4tMABfSMZfPBG8ydv7MyAElU2MVZmVbhDhUzO7YDOQCub7Jsv5AjbnUysE1P5areIp31C98TiCXV5Ql4HglFYMK2PhCaFMR9ndYFsNMORF3Va8q7hgVJ3ilAfeOm6IX+RFoV8ffUDPokQzUffbOjo2lZ6nrwUZFpn69lulAay7Pf6i8oR85EB6Peiwn1/yzd/6l95qAxQFtcr0vsEyLkaEZOnVZRpvFkrlQV3rkb/T0dIz1BhGVyVcKgqFQJJ8N4RFzrCcVQGRXZewTCz8B3Iyv9PiXgC5HWk6GOSaq41YY+fVw8p1ZQAG0rBw/pelmp9hNEJaTua1SwnglVw1Ef+SVqb+wErLz3hFe0WwkCUz6lIsS33WgnY4GBtyQX4EeTAnnvu5dobNnpuNFnH4zr+zvmGEnVxkLLLx/TKm+J6sI+51+j4R3x+V4+AQYNvEmH+xPno7sXQR x05r13xv 6Df5xpnxQafN633xl178+XhJClGBxNErPUN/NasuWnydDk+Aci1ig+MzPqBVpB7N49U15HK1GJjxigIB7NTNb1KhPvUKUMnltybbTw2fGEAU9w8GSq7W+bJgPfeLb3ml73QdZOrtwPcIeJzBM7YTymzQmEuoIFwNyviEIOJopE1WdnKFeoouQ/lilA2FMclhuCrJDoeYpydyRwkkbrX56xmWaww== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000009, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: The huge flag is already part of of the memory allocation flag (gfp_t). Make use of the VM_HUGEPAGE bit set by vma_thp_gfp_mask() to know if the allocation must be a huge page. Drop CONFIG_TRANSPARENT_HUGEPAGE check in shmem_alloc_and_add_folio() as VM_HUGEPAGE won't be set unless THP config is enabled. Signed-off-by: Daniel Gomez --- mm/shmem.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/mm/shmem.c b/mm/shmem.c index e2893cf2287f..9d68211373c4 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1644,7 +1644,7 @@ static struct folio *shmem_alloc_folio(gfp_t gfp, static struct folio *shmem_alloc_and_add_folio(gfp_t gfp, struct inode *inode, pgoff_t index, - struct mm_struct *fault_mm, bool huge) + struct mm_struct *fault_mm) { struct address_space *mapping = inode->i_mapping; struct shmem_inode_info *info = SHMEM_I(inode); @@ -1652,10 +1652,7 @@ static struct folio *shmem_alloc_and_add_folio(gfp_t gfp, long pages; int error; - if (!IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) - huge = false; - - if (huge) { + if (gfp & VM_HUGEPAGE) { pages = HPAGE_PMD_NR; index = round_down(index, HPAGE_PMD_NR); @@ -1690,7 +1687,7 @@ static struct folio *shmem_alloc_and_add_folio(gfp_t gfp, if (xa_find(&mapping->i_pages, &index, index + pages - 1, XA_PRESENT)) { error = -EEXIST; - } else if (huge) { + } else if (gfp & VM_HUGEPAGE) { count_vm_event(THP_FILE_FALLBACK); count_vm_event(THP_FILE_FALLBACK_CHARGE); } @@ -2054,7 +2051,7 @@ static int shmem_get_folio_gfp(struct inode *inode, pgoff_t index, huge_gfp = vma_thp_gfp_mask(vma); huge_gfp = limit_gfp_mask(huge_gfp, gfp); folio = shmem_alloc_and_add_folio(huge_gfp, - inode, index, fault_mm, true); + inode, index, fault_mm); if (!IS_ERR(folio)) { count_vm_event(THP_FILE_ALLOC); goto alloced; @@ -2063,7 +2060,7 @@ static int shmem_get_folio_gfp(struct inode *inode, pgoff_t index, goto repeat; } - folio = shmem_alloc_and_add_folio(gfp, inode, index, fault_mm, false); + folio = shmem_alloc_and_add_folio(gfp, inode, index, fault_mm); if (IS_ERR(folio)) { error = PTR_ERR(folio); if (error == -EEXIST)