diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/page_owner.c | 9 | ||||
-rw-r--r-- | mm/vmstat.c | 2 |
2 files changed, 6 insertions, 5 deletions
diff --git a/mm/page_owner.c b/mm/page_owner.c index 7a37a30d941b..feaa28b40c1c 100644 --- a/mm/page_owner.c +++ b/mm/page_owner.c | |||
@@ -5,10 +5,11 @@ | |||
5 | #include <linux/bootmem.h> | 5 | #include <linux/bootmem.h> |
6 | #include <linux/stacktrace.h> | 6 | #include <linux/stacktrace.h> |
7 | #include <linux/page_owner.h> | 7 | #include <linux/page_owner.h> |
8 | #include <linux/jump_label.h> | ||
8 | #include "internal.h" | 9 | #include "internal.h" |
9 | 10 | ||
10 | static bool page_owner_disabled = true; | 11 | static bool page_owner_disabled = true; |
11 | bool page_owner_inited __read_mostly; | 12 | DEFINE_STATIC_KEY_FALSE(page_owner_inited); |
12 | 13 | ||
13 | static void init_early_allocated_pages(void); | 14 | static void init_early_allocated_pages(void); |
14 | 15 | ||
@@ -37,7 +38,7 @@ static void init_page_owner(void) | |||
37 | if (page_owner_disabled) | 38 | if (page_owner_disabled) |
38 | return; | 39 | return; |
39 | 40 | ||
40 | page_owner_inited = true; | 41 | static_branch_enable(&page_owner_inited); |
41 | init_early_allocated_pages(); | 42 | init_early_allocated_pages(); |
42 | } | 43 | } |
43 | 44 | ||
@@ -147,7 +148,7 @@ read_page_owner(struct file *file, char __user *buf, size_t count, loff_t *ppos) | |||
147 | struct page *page; | 148 | struct page *page; |
148 | struct page_ext *page_ext; | 149 | struct page_ext *page_ext; |
149 | 150 | ||
150 | if (!page_owner_inited) | 151 | if (!static_branch_unlikely(&page_owner_inited)) |
151 | return -EINVAL; | 152 | return -EINVAL; |
152 | 153 | ||
153 | page = NULL; | 154 | page = NULL; |
@@ -295,7 +296,7 @@ static int __init pageowner_init(void) | |||
295 | { | 296 | { |
296 | struct dentry *dentry; | 297 | struct dentry *dentry; |
297 | 298 | ||
298 | if (!page_owner_inited) { | 299 | if (!static_branch_unlikely(&page_owner_inited)) { |
299 | pr_info("page_owner is disabled\n"); | 300 | pr_info("page_owner is disabled\n"); |
300 | return 0; | 301 | return 0; |
301 | } | 302 | } |
diff --git a/mm/vmstat.c b/mm/vmstat.c index 72c17981cb70..69ce64f7b8d7 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -1120,7 +1120,7 @@ static void pagetypeinfo_showmixedcount(struct seq_file *m, pg_data_t *pgdat) | |||
1120 | #ifdef CONFIG_PAGE_OWNER | 1120 | #ifdef CONFIG_PAGE_OWNER |
1121 | int mtype; | 1121 | int mtype; |
1122 | 1122 | ||
1123 | if (!page_owner_inited) | 1123 | if (!static_branch_unlikely(&page_owner_inited)) |
1124 | return; | 1124 | return; |
1125 | 1125 | ||
1126 | drain_all_pages(NULL); | 1126 | drain_all_pages(NULL); |