Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1318762 > unrolled thread
| Started by | Christian Borntraeger <borntraeger@de.ibm.com> |
|---|---|
| First post | 2016-01-27 10:00 +0100 |
| Last post | 2016-01-27 10:20 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH v2 0/3] Optimize CONFIG_DEBUG_PAGEALLOC Christian Borntraeger <borntraeger@de.ibm.com> - 2016-01-27 10:00 +0100
[PATCH v2 1/3] mm: provide debug_pagealloc_enabled() without CONFIG_DEBUG_PAGEALLOC Christian Borntraeger <borntraeger@de.ibm.com> - 2016-01-27 10:00 +0100
Re: [PATCH v2 1/3] mm: provide debug_pagealloc_enabled() without CONFIG_DEBUG_PAGEALLOC Thomas Gleixner <tglx@linutronix.de> - 2016-01-27 10:20 +0100
| From | Christian Borntraeger <borntraeger@de.ibm.com> |
|---|---|
| Date | 2016-01-27 10:00 +0100 |
| Subject | [PATCH v2 0/3] Optimize CONFIG_DEBUG_PAGEALLOC |
| Message-ID | <qVu7g-TW-3@gated-at.bofh.it> |
As CONFIG_DEBUG_PAGEALLOC can be enabled/disabled via kernel parameters we can optimize some cases by checking the enablement state. I have done s390 and x86 as examples. s390 should be ok, I tested several combinations, x86 seems to work as well, but I have some concerns about the 1GB pages. The previous code did not bother at all with CONFIG_DEBUG_PAGEALLOC and I do not fully understand why. Power can probably do the same, Michael/Ben? I am not sure about sparc. Sparc seems to allocate the TSB buffer really early. David? V1->V2: - replace DEBUG_PAGEALLOC(disabled/enabled) with DEBUG_PAGEALLOC dump_stack for s390/x86 - add /* CONFIG_DEBUG_PAGEALLOC */ to else and endif Christian Borntraeger (3): mm: provide debug_pagealloc_enabled() without CONFIG_DEBUG_PAGEALLOC x86: query dynamic DEBUG_PAGEALLOC setting s390: query dynamic DEBUG_PAGEALLOC setting arch/s390/kernel/dumpstack.c | 8 ++++---- arch/s390/mm/vmem.c | 10 ++++------ arch/x86/kernel/dumpstack.c | 5 ++--- arch/x86/mm/init.c | 7 ++++--- arch/x86/mm/pageattr.c | 14 ++++---------- include/linux/mm.h | 9 +++++++-- 6 files changed, 25 insertions(+), 28 deletions(-) -- 2.3.0
[toc] | [next] | [standalone]
| From | Christian Borntraeger <borntraeger@de.ibm.com> |
|---|---|
| Date | 2016-01-27 10:00 +0100 |
| Subject | [PATCH v2 1/3] mm: provide debug_pagealloc_enabled() without CONFIG_DEBUG_PAGEALLOC |
| Message-ID | <qVu7h-TW-27@gated-at.bofh.it> |
| In reply to | #1318762 |
We can provide debug_pagealloc_enabled() also if CONFIG_DEBUG_PAGEALLOC
is not set. It will return false in that case.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: David Rientjes <rientjes@google.com>
---
include/linux/mm.h | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 7783073..56cab4e 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2147,13 +2147,18 @@ kernel_map_pages(struct page *page, int numpages, int enable)
#ifdef CONFIG_HIBERNATION
extern bool kernel_page_present(struct page *page);
#endif /* CONFIG_HIBERNATION */
-#else
+#else /* CONFIG_DEBUG_PAGEALLOC */
+static inline bool debug_pagealloc_enabled(void)
+{
+ return false;
+}
+
static inline void
kernel_map_pages(struct page *page, int numpages, int enable) {}
#ifdef CONFIG_HIBERNATION
static inline bool kernel_page_present(struct page *page) { return true; }
#endif /* CONFIG_HIBERNATION */
-#endif
+#endif /* CONFIG_DEBUG_PAGEALLOC */
#ifdef __HAVE_ARCH_GATE_AREA
extern struct vm_area_struct *get_gate_vma(struct mm_struct *mm);
--
2.3.0
[toc] | [prev] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2016-01-27 10:20 +0100 |
| Subject | Re: [PATCH v2 1/3] mm: provide debug_pagealloc_enabled() without CONFIG_DEBUG_PAGEALLOC |
| Message-ID | <qVuqB-1hZ-7@gated-at.bofh.it> |
| In reply to | #1318763 |
On Wed, 27 Jan 2016, Christian Borntraeger wrote: > We can provide debug_pagealloc_enabled() also if CONFIG_DEBUG_PAGEALLOC > is not set. It will return false in that case. > > Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> > Acked-by: David Rientjes <rientjes@google.com> Acked-by: Thomas Gleixner <tglx@linutronix.de>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web