mm/page_ext.c: Make page_ext_init a noop when CONFIG_PAGE_EXTENSION but nothing uses it
Subsystems (2)
PATCH 1/1 mm/page_ext.c: Make page_ext_init a noop when CONFIG_PAGE_EXTENSION but nothing uses it
static struct page_ext_operations *page_ext_ops[] always contains debug_guardpage_ops,
static struct page_ext_operations *page_ext_ops[] = {
&debug_guardpage_ops,
#ifdef CONFIG_PAGE_OWNER
&page_owner_ops,
#endif
...
}
but for it to work, CONFIG_DEBUG_PAGEALLOC must be enabled first.
If someone has CONFIG_PAGE_EXTENSION, but has none of its users,
eg: (CONFIG_PAGE_OWNER, CONFIG_DEBUG_PAGEALLOC, CONFIG_IDLE_PAGE_TRACKING), we can shrink page_ext_init() to a simple retq.
$ size vmlinux (before patch) text data bss dec hex filename 14356698 5681582 1687748 21726028 14b834c vmlinux
$ size vmlinux (after patch) text data bss dec hex filename 14356008 5681538 1687748 21725294 14b806e vmlinux
On the other hand, it might does not even make sense, since if someone enables CONFIG_PAGE_EXTENSION, I would expect him to enable also at least one of its users, but I wanted to see what you guys think.
--- mm/page_ext.c | 2 ++ 1 file changed, 2 insertions(+)
mm/page_ext.c +2 -0
@@ -59,7 +59,9 @@*/ static struct page_ext_operations *page_ext_ops[] = { +#ifdef CONFIG_DEBUG_PAGEALLOC &debug_guardpage_ops, +#endif #ifdef CONFIG_PAGE_OWNER &page_owner_ops, #endif
Signature · 7 lines
2.13.5 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Andrew Morton
maintainerQuoted 19 lines · On Fri, 5 Jan 2018 14:02:35 +0100 Oscar Salvador…
static struct
page_ext_operations*page_ext_ops[] always containsdebug_guardpage_ops,static struct
page_ext_operations*page_ext_ops[] = {
&debug_guardpage_ops,
#ifdefCONFIG_PAGE_OWNER
&page_owner_ops,
#endif
...
}but for it to work,
CONFIG_DEBUG_PAGEALLOCmust be enabled first.
If someone hasCONFIG_PAGE_EXTENSION, but has none of its users,
eg: (CONFIG_PAGE_OWNER,CONFIG_DEBUG_PAGEALLOC,CONFIG_IDLE_PAGE_TRACKING), we can shrinkpage_ext_init()to a simple retq.$ size vmlinux (before patch) text data bss dec hex filename 14356698 5681582 1687748 21726028 14b834c vmlinux
Quoted 7 lines
$ size vmlinux (after patch) text data bss dec hex filename 14356008 5681538 1687748 21725294 14b806e vmlinuxOn the other hand, it might does not even make sense, since if someone enables
CONFIG_PAGE_EXTENSION, I would expect him to enable also at least one of its users, but I wanted to see what you guys think.
Presumably the CONFIG_PAGE_EXTENSION users should `select' CONFIG_PAGE_EXTENSION so the situation doesn't arise.
(or does it? I have a vague memory that if CONFIG_A selects CONFIG_B and you then set CONFIG_A=n, CONFIG_B remains enabled?)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>