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 57C69C7EE32 for ; Thu, 26 Jun 2025 13:01:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EF6336B0099; Thu, 26 Jun 2025 09:01:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ECD7B6B009F; Thu, 26 Jun 2025 09:01:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE3C36B00A0; Thu, 26 Jun 2025 09:01:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CA3CA6B0099 for ; Thu, 26 Jun 2025 09:01:10 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8870C120A79 for ; Thu, 26 Jun 2025 13:01:10 +0000 (UTC) X-FDA: 83597562300.24.907412B Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf14.hostedemail.com (Postfix) with ESMTP id C480B100015 for ; Thu, 26 Jun 2025 13:01:08 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=WO50tawx; spf=pass (imf14.hostedemail.com: domain of pratyush@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=pratyush@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750942868; 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=R3WSMEw9tIx3Zi6Q5W1R6o6LveODQwDuJC6bMs5Rsxg=; b=YnQXFev4oiNYLb9oPSb1FXCZiKbmB2vaqvXR9c5VvOztKO3P6FsMZPtMEX5K6q66rZklm0 26gHvKAjwH8iugYqJFXSU8EFufjTobpmYZKkgl0Ij4H9cyxJJVbdwEKSSG5npLvd5nuwYU CTzrrQwhRXNgc7k1KzDdXXGcKpq1XYY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750942868; a=rsa-sha256; cv=none; b=GJgW/JmNE+ljYNFWJug84w5T+jN9M/Ji4Wnaoz//py35c4Zr77F5XVo64We1olrlFJ+hN5 Z481wl4JaB70uvBHpJ//u+ixbafUE5G0/J0oBZspM74G1b+GipLp2lZi/gwO6Y1dLhu88Z Q1tjDVpykdldTkW3O5HUF59GRwK4Af0= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=WO50tawx; spf=pass (imf14.hostedemail.com: domain of pratyush@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=pratyush@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 0382F5C61D7; Thu, 26 Jun 2025 12:58:51 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 01354C4CEEB; Thu, 26 Jun 2025 13:00:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750942867; bh=p4+eXCQGMR9TWXBMv8y3A7wqhzvhbL3bNYb1Q71TM/s=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=WO50tawxIGQ06se51mzA9l/QQLICo0jdAR6OV4L11SY3W4xXWwfSSjdssiglQgbwL eZZxS3EsXxw3Shq08+OWHJBAqPCxx4iDeXMnLOeOwgseINi66n6UYrtKJD3cnqcinU XgbkmNLMcWrJcSyvMCP4xverSA2HWJXEtXdCmmAbsg2xm2W9BwPO7lgUOBMEsGHN0Y UHgSgVTsddG+9qGcLdQM1QtAt1OFtvIntbZCDjT6sJxPYgvGEbNnD9h1l0Lpv/Xvm8 MZ0tjnfrsEJ0+jb/3LwnUrfV+nSYUtJ43Irz9/Y0A59IxrAOkQSMOe/jD1jjkBp9ZX pvbC+xSrgVbuw== From: Pratyush Yadav To: Pasha Tatashin Cc: pratyush@kernel.org, jasonmiu@google.com, graf@amazon.com, changyuanl@google.com, rppt@kernel.org, dmatlack@google.com, rientjes@google.com, corbet@lwn.net, rdunlap@infradead.org, ilpo.jarvinen@linux.intel.com, kanie@linux.alibaba.com, ojeda@kernel.org, aliceryhl@google.com, masahiroy@kernel.org, akpm@linux-foundation.org, tj@kernel.org, yoann.congal@smile.fr, mmaurer@google.com, roman.gushchin@linux.dev, chenridong@huawei.com, axboe@kernel.dk, mark.rutland@arm.com, jannh@google.com, vincent.guittot@linaro.org, hannes@cmpxchg.org, dan.j.williams@intel.com, david@redhat.com, joel.granados@kernel.org, rostedt@goodmis.org, anna.schumaker@oracle.com, song@kernel.org, zhangguopeng@kylinos.cn, linux@weissschuh.net, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, gregkh@linuxfoundation.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, rafael@kernel.org, dakr@kernel.org, bartosz.golaszewski@linaro.org, cw00.choi@samsung.com, myungjoo.ham@samsung.com, yesanishhere@gmail.com, Jonathan.Cameron@huawei.com, quic_zijuhu@quicinc.com, aleksander.lobakin@intel.com, ira.weiny@intel.com, andriy.shevchenko@linux.intel.com, leon@kernel.org, lukas@wunner.de, bhelgaas@google.com, wagi@kernel.org, djeffery@redhat.com, stuart.w.hayes@gmail.com, lennart@poettering.net, brauner@kernel.org, linux-api@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v1 25/32] mm: shmem: use SHMEM_F_* flags instead of VM_* flags In-Reply-To: <20250625231838.1897085-26-pasha.tatashin@soleen.com> References: <20250625231838.1897085-1-pasha.tatashin@soleen.com> <20250625231838.1897085-26-pasha.tatashin@soleen.com> Date: Thu, 26 Jun 2025 15:00:57 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: C480B100015 X-Stat-Signature: qo8iq1gxcz187xkwmekjq4paas68bonk X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1750942868-890383 X-HE-Meta: U2FsdGVkX18dzvu5MiVcJbzz3bIEgaeTAIteVnC8uxf5G6M8BcfVwGVbnmAhzn0apngMJLngqTSMQnRoer00LPFNb6AlZzbOXcY22J6u+QjoR/G21d0np1Lr6h2hMVd8WMbGDUCizZp5Gettok8QdgAoMHrEEz3YKHt+o2zfipr9SrptyAZvn8uXPPSeNVQvo1aViXLeVmsJjT7Be3cIg8qzKMqUIV5VNzKO4Z5eeJP43C6FZ4MT83k3MMzu9AxN9Dz9ivfG/B5sBkw8OmaaCQLDXQCwq4yvsyVc3tOMe/9J9QR3NrVMUtVOxBB9k0smmbDDw6VCXr9MJiGskhBD74Pk7GlcvSe++out1upcLdy1np+65IaVl4vxkojZ1QIVTvBwT8VNUBuYKSOiD7fWgdbHjqVtGz1KaEd2hWn8ZLx9Z5RCYt9FIhRkCA826sCLavI2gTmQGaFMCEgg4zu8J9ux0vZVyCs9a4pFoGOuxSNUQbPkiG4ybtIaoxLuwjxK/85yL00/pjMmdJR9H2gS583b7JmwljDTcQj/0cdcqapf9zQtOxM4LKl9N8vciz21T2vT7MHIpFwJ205ISB/XMFjyHRnna8Px5zHiGwBhMgiajaZotf/L2TTqqUkmZOSwyQT9qxKOLdkAY91/XG5k+GUYEmYpaOmMmidKPITyGx1UVf3NgPrg+kbeuYYMRVi5UW/LE/oOf9N6oJPFFfMNVQD1XL7h4LEq97eI7fSG/uegjIVhGomYnWH6DGcob18LRynJ1QVKdRCduqGikul2x29IoWxhagmd1/pnYo/3hhaTwa0kwjh/J2s92vMURE3+jSjcAzxYp6yTtgR6jtv1xq+OIx8R7gDFyxjCbKDeWRCOl5O/oYEdXv0igbwvHef6XFLuZ1ZiCxlc0pkhvv88WimWMNTcGORU7yovMsWgH6CJHmO0XHf7UW5cnqf9JkKqpb/vqWeV6mp5MiWgXqm ZAQR48QH vyUSGJbtBiVchbtT3b2U/3q10cNhTidraogr9eiojAzP0Le7M+PFZMdm5C1g7qXOrn5F9xIZ0NCzHF9O1gRXh0q2yYH3pxyHXmJ9NO+IeNCPrToOU/tJbkYbzoR5ymxNoRu7WwL3rfTzQQ2qZKRnv0Z9eMPhbLP6/Vz8B63PWgarkfxPUVabQV7e6hS3SX7eqeGg2LY5eFouEpobHI61XxV9/lYsEuGsw6ww5DaYZr8vjA6ya61CmKcXbtLtKYyD2IPGGg7dLnmOiTWMGZ6EBJ+seO1PhbpHSzrIT 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: Hi all, On Wed, Jun 25 2025, Pasha Tatashin wrote: > From: Pratyush Yadav > > shmem_inode_info::flags can have the VM flags VM_NORESERVE and > VM_LOCKED. These are used to suppress pre-accounting or to lock the > pages in the inode respectively. Using the VM flags directly makes it > difficult to add shmem-specific flags that are unrelated to VM behavior > since one would need to find a VM flag not used by shmem and re-purpose > it. > > Introduce SHMEM_F_NORESERVE and SHMEM_F_LOCKED which represent the same > information, but their bits are independent of the VM flags. Callers can > still pass VM_NORESERVE to shmem_get_inode(), but it gets transformed to > the shmem-specific flag internally. > > No functional changes intended. I was reading through this patch again and just realized that I missed a spot. __shmem_file_setup() passes VM flags to shmem_{un,}acct_size(), even though it now expects SHMEM_F flag. Below fixup patch should fix that. --- 8< --- >From d027524e390de15af1c6d9310bf6bea0194be79f Mon Sep 17 00:00:00 2001 From: Pratyush Yadav Date: Thu, 26 Jun 2025 14:50:27 +0200 Subject: [PATCH] fixup! mm: shmem: use SHMEM_F_* flags instead of VM_* flags Signed-off-by: Pratyush Yadav --- mm/shmem.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mm/shmem.c b/mm/shmem.c index 6b13eb40e7dc2..83ae446f779ef 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -5809,8 +5809,10 @@ static inline struct inode *shmem_get_inode(struct mnt_idmap *idmap, /* common code */ static struct file *__shmem_file_setup(struct vfsmount *mnt, const char *name, - loff_t size, unsigned long flags, unsigned int i_flags) + loff_t size, unsigned long vm_flags, + unsigned int i_flags) { + unsigned long flags = (vm_flags & VM_NORESERVE) ? SHMEM_F_NORESERVE : 0; struct inode *inode; struct file *res; @@ -5827,7 +5829,7 @@ static struct file *__shmem_file_setup(struct vfsmount *mnt, const char *name, return ERR_PTR(-ENOMEM); inode = shmem_get_inode(&nop_mnt_idmap, mnt->mnt_sb, NULL, - S_IFREG | S_IRWXUGO, 0, flags); + S_IFREG | S_IRWXUGO, 0, vm_flags); if (IS_ERR(inode)) { shmem_unacct_size(flags, size); return ERR_CAST(inode); -- Regards, Pratyush Yadav