[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240326021656.202649-2-rick.p.edgecombe@intel.com>
Date: Mon, 25 Mar 2024 19:16:43 -0700
From: Rick Edgecombe <rick.p.edgecombe@...el.com>
To: Liam.Howlett@...cle.com,
akpm@...ux-foundation.org,
bp@...en8.de,
broonie@...nel.org,
christophe.leroy@...roup.eu,
dave.hansen@...ux.intel.com,
debug@...osinc.com,
hpa@...or.com,
keescook@...omium.org,
kirill.shutemov@...ux.intel.com,
luto@...nel.org,
mingo@...hat.com,
peterz@...radead.org,
tglx@...utronix.de,
x86@...nel.org
Cc: rick.p.edgecombe@...el.com,
linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: [PATCH v4 01/14] proc: Refactor pde_get_unmapped_area as prep
Future changes will perform a treewide change to remove the indirect
branch that is involved in calling mm->get_unmapped_area(). After doing
this, the function will no longer be able to be handled as a function
pointer. To make the treewide change diff cleaner and easier to review,
refactor pde_get_unmapped_area() such that mm->get_unmapped_area() is
called without being stored in a local function pointer. With this in
refactoring, follow on changes will be able to simply replace the call
site with a future function that calls it directly.
Signed-off-by: Rick Edgecombe <rick.p.edgecombe@...el.com>
---
v4:
- New patch split from "mm: Switch mm->get_unmapped_area() to a flag"
(Christophe Leroy)
---
fs/proc/inode.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/fs/proc/inode.c b/fs/proc/inode.c
index dcd513dccf55..75396a24fd8c 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -451,15 +451,12 @@ pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned lo
unsigned long len, unsigned long pgoff,
unsigned long flags)
{
- typeof_member(struct proc_ops, proc_get_unmapped_area) get_area;
+ if (pde->proc_ops->proc_get_unmapped_area)
+ return pde->proc_ops->proc_get_unmapped_area(file, orig_addr, len, pgoff, flags);
- get_area = pde->proc_ops->proc_get_unmapped_area;
#ifdef CONFIG_MMU
- if (!get_area)
- get_area = current->mm->get_unmapped_area;
+ return current->mm->get_unmapped_area(file, orig_addr, len, pgoff, flags);
#endif
- if (get_area)
- return get_area(file, orig_addr, len, pgoff, flags);
return orig_addr;
}
--
2.34.1
Powered by blists - more mailing lists