[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241116175922.3265872-6-pasha.tatashin@soleen.com>
Date: Sat, 16 Nov 2024 17:59:21 +0000
From: Pasha Tatashin <pasha.tatashin@...een.com>
To: pasha.tatashin@...een.com,
linux-kernel@...r.kernel.org,
linux-mm@...ck.org,
linux-doc@...r.kernel.org,
linux-fsdevel@...r.kernel.org,
cgroups@...r.kernel.org,
linux-kselftest@...r.kernel.org,
akpm@...ux-foundation.org,
corbet@....net,
derek.kiernan@....com,
dragan.cvetic@....com,
arnd@...db.de,
gregkh@...uxfoundation.org,
viro@...iv.linux.org.uk,
brauner@...nel.org,
jack@...e.cz,
tj@...nel.org,
hannes@...xchg.org,
mhocko@...nel.org,
roman.gushchin@...ux.dev,
shakeel.butt@...ux.dev,
muchun.song@...ux.dev,
Liam.Howlett@...cle.com,
lorenzo.stoakes@...cle.com,
vbabka@...e.cz,
jannh@...gle.com,
shuah@...nel.org,
vegard.nossum@...cle.com,
vattunuru@...vell.com,
schalla@...vell.com,
david@...hat.com,
willy@...radead.org,
osalvador@...e.de,
usama.anjum@...labora.com,
andrii@...nel.org,
ryan.roberts@....com,
peterx@...hat.com,
oleg@...hat.com,
tandersen@...flix.com,
rientjes@...gle.com,
gthelen@...gle.com
Subject: [RFCv1 5/6] misc/page_detective: enable loadable module
Export the missing symbols, and allow page_detective to be built as
a loadable module. This can be make this available in the field, where
Page Detective is loaded only once it is needed.
Signed-off-by: Pasha Tatashin <pasha.tatashin@...een.com>
---
drivers/misc/Kconfig | 2 +-
fs/kernfs/dir.c | 1 +
kernel/pid.c | 1 +
mm/memcontrol.c | 1 +
mm/oom_kill.c | 1 +
5 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 2965c3c7cdef..b58b4f9567ff 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -495,7 +495,7 @@ config MISC_RTSX
config PAGE_DETECTIVE
depends on PAGE_TABLE_CHECK
depends on MEMCG
- bool "Page Detective"
+ tristate "Page Detective"
help
A debugging tool designed to provide detailed information about the
usage and mapping of physical memory pages. This tool operates through
diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c
index 458519e416fe..84ad163a4281 100644
--- a/fs/kernfs/dir.c
+++ b/fs/kernfs/dir.c
@@ -279,6 +279,7 @@ void pr_cont_kernfs_path(struct kernfs_node *kn)
out:
spin_unlock_irqrestore(&kernfs_pr_cont_lock, flags);
}
+EXPORT_SYMBOL_GPL(pr_cont_kernfs_path);
/**
* kernfs_get_parent - determine the parent node and pin it
diff --git a/kernel/pid.c b/kernel/pid.c
index 2715afb77eab..89454dc9535e 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c
@@ -447,6 +447,7 @@ struct task_struct *find_get_task_by_vpid(pid_t nr)
return task;
}
+EXPORT_SYMBOL_GPL(find_get_task_by_vpid);
struct pid *get_task_pid(struct task_struct *task, enum pid_type type)
{
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 53db98d2c4a1..389aeec06a04 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -967,6 +967,7 @@ struct mem_cgroup *get_mem_cgroup_from_folio(struct folio *folio)
rcu_read_unlock();
return memcg;
}
+EXPORT_SYMBOL_GPL(get_mem_cgroup_from_folio);
/**
* mem_cgroup_iter - iterate over memory cgroup hierarchy
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 4d7a0004df2c..df230a091dcc 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -149,6 +149,7 @@ struct task_struct *find_lock_task_mm(struct task_struct *p)
return t;
}
+EXPORT_SYMBOL_GPL(find_lock_task_mm);
/*
* order == -1 means the oom kill is required by sysrq, otherwise only
--
2.47.0.338.g60cca15819-goog
Powered by blists - more mailing lists