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 6E964E77198 for ; Wed, 8 Jan 2025 02:29:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EB07B6B0082; Tue, 7 Jan 2025 21:29:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E5E4C6B0083; Tue, 7 Jan 2025 21:29:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D267E6B0088; Tue, 7 Jan 2025 21:29:47 -0500 (EST) 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 B48546B0082 for ; Tue, 7 Jan 2025 21:29:47 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3B964A0155 for ; Wed, 8 Jan 2025 02:29:47 +0000 (UTC) X-FDA: 82982704014.12.F314A22 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf30.hostedemail.com (Postfix) with ESMTP id 7C0548000E for ; Wed, 8 Jan 2025 02:29:45 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Vu7A6H9J; spf=pass (imf30.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736303385; 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=2jDB9gsNJ2FuXx4Bbpt3hLqfofJ/BvA6RSiRGZojh+w=; b=UMTe/j/LAhROkQtSSuH0kfNo10rkLn3d4MrjRQzaHDw9X8hG+K90tkaUATEPOCE/B7nbBu F1rt4cJocdvHma9N5TOxftAq+lFTsGTCgQsgHDH0Xs+d8SvazLn1CrOWN8tY5FinII9POE 7oiF5GeLcEVTOxKIhbdwlOwD0ZMloBY= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Vu7A6H9J; spf=pass (imf30.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736303385; a=rsa-sha256; cv=none; b=ALwY6O0T6g2J83iGKwd4VhTn0+q7GmqaarAFiLH4ncSNFXDzfNtUDGQAavQODAc193PLnM DAMSBWS1TRLG7t9vEUpmtuc2N5xSNYll1JcX50b7Aao/KD8gsc/dCpgNOhv1mwua0kOVXH ssfKFWFTXABylgVPDrGACa3lXq5Lkiw= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 74EBD5C64EC; Wed, 8 Jan 2025 02:29:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E695FC4CED6; Wed, 8 Jan 2025 02:29:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1736303384; bh=mL9reFc0HLu2wuZ62Rlfp9/vEt9nVFkl8Lb3CNqNeEI=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Vu7A6H9JO2k7oCGoJjOZCcMZoEuVbcGb6KE8m92igY54Y3bv3K9ynNhZ+LMloEtik ZmMHZdXjK0Pylr4+hbJQUh3RkF87KSqSnFBYcbLoGXRLzvod6n/nJ6nXCCMBH3aw4f iKWFx4oTU+Kyw/LZ8NdUwEjZAkRACErHQz1NnPNc= Date: Tue, 7 Jan 2025 18:29:43 -0800 From: Andrew Morton To: Baolin Wang Cc: hughd@google.com, willy@infradead.org, david@redhat.com, wangkefeng.wang@huawei.com, kasong@tencent.com, ying.huang@linux.alibaba.com, 21cnbao@gmail.com, ryan.roberts@arm.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] mm: shmem: skip swapcache for swapin of synchronous swap device Message-Id: <20250107182943.a36b6876985dac7d34ef07a2@linux-foundation.org> In-Reply-To: <3d9f3bd3bc6ec953054baff5134f66feeaae7c1e.1736301701.git.baolin.wang@linux.alibaba.com> References: <3d9f3bd3bc6ec953054baff5134f66feeaae7c1e.1736301701.git.baolin.wang@linux.alibaba.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam05 X-Stat-Signature: afzyicjou5ysekbkcdcf8bqarnkq68ej X-Rspamd-Queue-Id: 7C0548000E X-Rspam-User: X-HE-Tag: 1736303385-555394 X-HE-Meta: U2FsdGVkX1/QV/qhDMIsNkzxDj8M3JKJma+IDwip8gNdDjgVH8p2rNcE8XUBPJAnW3UTyDmjgxhJTJ8+JehArSqZLxd1kqPnmvd4cEA84z+vJclFYRXZjGdGYpjNsBcqZR0cb58CPY++olCYKrwNuD0pz4r00fB/TWpwSlTaElXZROUAzFY4yrqPdEPSAR1BDOu4h8jCM9NytscIz2cjy5HKIelImaTPPeESTlaRua4Iz5dkudkHIS5rdE18ROPWTBBC1vCsNXXPICvIDvaW9IOjF+Un0F4ESGaI78WpMdCFXaiacQVEJKjnwC1IpdMxRICvhgJwEDzilG29MMj10KqiMbVXnlnApAcD1XRWdLy8+PZnhlNLLuTdRFzYhz9ieBzuPvFBWHthv+bZdF8A13QtqVAcBI72wIOThnCb9PsPfcEXMT0GbSt4UTCJrURI75dg7Ycqo/uUjuLKGm7vdl0vJHNkbl3+iyGFo7IgGTcggaTaHQORsP+0Jiu4jFre+JVgyylEopUIbW+4L0+BP348T+awwYFkcvQzg82ZWju49Gl3OzSExB0fJrSHj/b1bk4XsLjX077UoPvTivrteHQoylbl3Xfq+x3fEB4gVnZw4o3otC3blrwUWP8X+umzCr7SCkvOCnQgtM7+E7FPVz54mTT3tM5OPTYhm87SL2bW6Xq81I63pIfTPpnHPSjDW/ErcENOWTdkv6DycW1I0+AVWjOhnmI12WOxs3G7PkVeXvZpDOAge7TXbjrgg2bVlfYwS2GhqWuDCkIsUoKy4hhEOf+XApbqlXFx4NsY7earXHA93f0YsK+jrZCyhZa17hBxzEFu4OGEf2BjGnGjXn7AZ+XqtYMEnjz/CZST2AkPfbFmT2SHoIBolMDF2z1K1qls0qhgtV+s8FqQ2DwdE9j1TnoeQXZ82Id4AS8cVR8xindDhFBf69vZbMQFzLgVMlpczr5uvDfLSVTttLw F/9IJX/F 1fk6MfymqUnCYEfM0vu/iydk43UvBMlx95UvZR/p8ynqG/Kete7a5bfnMrJmz9hoPd7qSC4i3aG0ovoO3KAd7lkqWi6SgjNQxzGCELzCvN/3ODVGpiX4HTss5c8afAwcCWPn3nx31UIRKkBAGuYrXQjcfIvJbzzicUqRz0YspaUV8C2OPSxqoABq2FYpX3ZVSbQCiaNRefUVoiOIIyszMS8ML3AgOPUOtmcs3d85v6pwAyXQ+Skp8d6HMBM3vTIjupNmHW8HWgApwvdoguYv2Y+O3Qg== 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 Wed, 8 Jan 2025 10:16:49 +0800 Baolin Wang wrote: > +static struct folio *shmem_swap_alloc_folio(struct inode *inode, > + struct vm_area_struct *vma, pgoff_t index, > + swp_entry_t entry, int order, gfp_t gfp) > +{ > + struct shmem_inode_info *info = SHMEM_I(inode); > + struct folio *new; > + void *shadow; > + int nr_pages; > + > + /* > + * We have arrived here because our zones are constrained, so don't > + * limit chance of success by further cpuset and node constraints. > + */ > + gfp &= ~GFP_CONSTRAINT_MASK; > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > + if (order > 0) { > + gfp_t huge_gfp = vma_thp_gfp_mask(vma); > + > + gfp = limit_gfp_mask(huge_gfp, gfp); > + } > +#endif > + Can we do this? --- a/mm/shmem.c~mm-shmem-skip-swapcache-for-swapin-of-synchronous-swap-device-fix +++ a/mm/shmem.c @@ -1978,16 +1978,14 @@ static struct folio *shmem_swap_alloc_fo /* * We have arrived here because our zones are constrained, so don't - * limit chance of success by further cpuset and node constraints. + * limit chance of success with further cpuset and node constraints. */ gfp &= ~GFP_CONSTRAINT_MASK; -#ifdef CONFIG_TRANSPARENT_HUGEPAGE - if (order > 0) { + if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && order > 0) { gfp_t huge_gfp = vma_thp_gfp_mask(vma); gfp = limit_gfp_mask(huge_gfp, gfp); } -#endif new = shmem_alloc_folio(gfp, order, info, index); if (!new) _