linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pratyush Yadav <pratyush@kernel.org>
To: Pasha Tatashin <pasha.tatashin@soleen.com>
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
Date: Thu, 26 Jun 2025 15:00:57 +0200	[thread overview]
Message-ID: <mafs01pr6u06u.fsf@kernel.org> (raw)
In-Reply-To: <20250625231838.1897085-26-pasha.tatashin@soleen.com>

Hi all,

On Wed, Jun 25 2025, Pasha Tatashin wrote:

> From: Pratyush Yadav <ptyadav@amazon.de>
>
> 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 <ptyadav@amazon.de>
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 <ptyadav@amazon.de>
---
 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

  reply	other threads:[~2025-06-26 13:01 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-25 23:17 [PATCH v1 00/32] Live Update Orchestrator Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 01/32] kho: init new_physxa->phys_bits to fix lockdep Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 02/32] kho: mm: Don't allow deferred struct page with KHO Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 03/32] kho: warn if KHO is disabled due to an error Pasha Tatashin
2025-06-25 23:56   ` Randy Dunlap
2025-07-23 14:39     ` Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 04/32] kho: allow to drive kho from within kernel Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 05/32] kho: make debugfs interface optional Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 06/32] kho: drop notifiers Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 07/32] kho: add interfaces to unpreserve folios and physical memory ranges Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 08/32] kho: don't unpreserve memory during abort Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 09/32] liveupdate: kho: move to kernel/liveupdate Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 10/32] liveupdate: luo_core: Live Update Orchestrator Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 11/32] liveupdate: luo_core: integrate with KHO Pasha Tatashin
2025-06-25 23:17 ` [PATCH v1 12/32] liveupdate: luo_subsystems: add subsystem registration Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 13/32] liveupdate: luo_subsystems: implement subsystem callbacks Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 14/32] liveupdate: luo_files: add infrastructure for FDs Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 15/32] liveupdate: luo_files: implement file systems callbacks Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 16/32] liveupdate: luo_ioctl: add ioctl interface Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 17/32] liveupdate: luo_sysfs: add sysfs state monitoring Pasha Tatashin
2025-06-26  0:29   ` Randy Dunlap
2025-07-23 13:53     ` Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 18/32] reboot: call liveupdate_reboot() before kexec Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 19/32] liveupdate: luo_files: luo_ioctl: session-based file descriptor tracking Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 20/32] kho: move kho debugfs directory to liveupdate Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 21/32] liveupdate: add selftests for subsystems un/registration Pasha Tatashin
2025-06-26  0:06   ` Randy Dunlap
2025-07-23 13:55     ` Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 22/32] selftests/liveupdate: add subsystem/state tests Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 23/32] docs: add luo documentation Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 24/32] MAINTAINERS: add liveupdate entry Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 25/32] mm: shmem: use SHMEM_F_* flags instead of VM_* flags Pasha Tatashin
2025-06-26 13:00   ` Pratyush Yadav [this message]
2025-07-23 14:08     ` Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 26/32] mm: shmem: allow freezing inode mapping Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 27/32] mm: shmem: export some functions to internal.h Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 28/32] luo: allow preserving memfd Pasha Tatashin
2025-06-25 23:18 ` [PATCH v1 29/32] docs: add documentation for memfd preservation via LUO Pasha Tatashin
2025-06-26  2:42   ` Randy Dunlap
2025-06-25 23:18 ` [RFC v1 30/32] tools: introduce libluo Pasha Tatashin
2025-06-25 23:18 ` [RFC v1 31/32] libluo: introduce luoctl Pasha Tatashin
2025-06-25 23:18 ` [RFC v1 32/32] libluo: add tests Pasha Tatashin
2025-06-25 23:26 ` [PATCH v1 00/32] Live Update Orchestrator Benjamin LaHaise
2025-06-25 23:44   ` pasha.tatashin
2025-06-25 23:56     ` Benjamin LaHaise
2025-07-04 17:33     ` Jason Gunthorpe
2025-07-04 21:27       ` Pasha Tatashin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=mafs01pr6u06u.fsf@kernel.org \
    --to=pratyush@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=aleksander.lobakin@intel.com \
    --cc=aliceryhl@google.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=anna.schumaker@oracle.com \
    --cc=axboe@kernel.dk \
    --cc=bartosz.golaszewski@linaro.org \
    --cc=bhelgaas@google.com \
    --cc=bp@alien8.de \
    --cc=brauner@kernel.org \
    --cc=changyuanl@google.com \
    --cc=chenridong@huawei.com \
    --cc=corbet@lwn.net \
    --cc=cw00.choi@samsung.com \
    --cc=dakr@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@redhat.com \
    --cc=djeffery@redhat.com \
    --cc=dmatlack@google.com \
    --cc=graf@amazon.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=hpa@zytor.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=ira.weiny@intel.com \
    --cc=jannh@google.com \
    --cc=jasonmiu@google.com \
    --cc=joel.granados@kernel.org \
    --cc=kanie@linux.alibaba.com \
    --cc=lennart@poettering.net \
    --cc=leon@kernel.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@weissschuh.net \
    --cc=lukas@wunner.de \
    --cc=mark.rutland@arm.com \
    --cc=masahiroy@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mmaurer@google.com \
    --cc=myungjoo.ham@samsung.com \
    --cc=ojeda@kernel.org \
    --cc=pasha.tatashin@soleen.com \
    --cc=quic_zijuhu@quicinc.com \
    --cc=rafael@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=rientjes@google.com \
    --cc=roman.gushchin@linux.dev \
    --cc=rostedt@goodmis.org \
    --cc=rppt@kernel.org \
    --cc=song@kernel.org \
    --cc=stuart.w.hayes@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=wagi@kernel.org \
    --cc=x86@kernel.org \
    --cc=yesanishhere@gmail.com \
    --cc=yoann.congal@smile.fr \
    --cc=zhangguopeng@kylinos.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).