* (unknown),
@ 2003-01-24 5:08 Anoop J.
2003-01-24 5:11 ` your mail David Lang
0 siblings, 1 reply; 14+ messages in thread
From: Anoop J. @ 2003-01-24 5:08 UTC (permalink / raw)
To: linux-kernel, linux-mm
How does page coloring work. Iwant its mechanism not the implementation.
I went through some pages of W.L.Lynch's paper on cache and VM. Still not
able to grasp it .
Thanks in advance
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: your mail
2003-01-24 5:08 (unknown), Anoop J.
@ 2003-01-24 5:11 ` David Lang
2003-01-24 6:06 ` John Alvord
0 siblings, 1 reply; 14+ messages in thread
From: David Lang @ 2003-01-24 5:11 UTC (permalink / raw)
To: Anoop J.; +Cc: linux-kernel, linux-mm
The idea of page coloring is based on the fact that common implementations
of caching can't put any page in memory in any line in the cache (such an
implementation is possible, but is more expensive to do so is not commonly
done)
With this implementation it means that if your program happens to use
memory that cannot be mapped to half of the cache lines then effectivly
the CPU cache is half it's rated size for your program. the next time your
program runs it may get a more favorable memory allocation and be able to
use all of the cache and therefor run faster.
Page coloring is an attampt to take this into account when allocating
memory to programs so that every program gets to use all of the cache.
David Lang
On Fri, 24 Jan 2003, Anoop J. wrote:
> Date: Fri, 24 Jan 2003 10:38:03 +0530 (IST)
> From: Anoop J. <cs99001@nitc.ac.in>
> To: linux-kernel@vger.kernel.org, linux-mm@kvack.org
>
>
> How does page coloring work. Iwant its mechanism not the implementation.
> I went through some pages of W.L.Lynch's paper on cache and VM. Still not
> able to grasp it .
>
>
> Thanks in advance
>
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: your mail
2003-01-24 5:11 ` your mail David Lang
@ 2003-01-24 6:06 ` John Alvord
2003-01-25 2:29 ` Jason Papadopoulos
0 siblings, 1 reply; 14+ messages in thread
From: John Alvord @ 2003-01-24 6:06 UTC (permalink / raw)
To: David Lang; +Cc: Anoop J., linux-kernel, linux-mm
The big challenge in Linux is that several serious attempts to add
page coloring have foundered on the shoals of "no benefit found". It
may be that the typical hardware Linux runs on just doesn't experience
the problem very much.
john
On Thu, 23 Jan 2003 21:11:10 -0800 (PST), David Lang
<david.lang@digitalinsight.com> wrote:
>The idea of page coloring is based on the fact that common implementations
>of caching can't put any page in memory in any line in the cache (such an
>implementation is possible, but is more expensive to do so is not commonly
>done)
>
>With this implementation it means that if your program happens to use
>memory that cannot be mapped to half of the cache lines then effectivly
>the CPU cache is half it's rated size for your program. the next time your
>program runs it may get a more favorable memory allocation and be able to
>use all of the cache and therefor run faster.
>
>Page coloring is an attampt to take this into account when allocating
>memory to programs so that every program gets to use all of the cache.
>
>David Lang
>
>
> On Fri, 24 Jan 2003, Anoop J. wrote:
>
>> Date: Fri, 24 Jan 2003 10:38:03 +0530 (IST)
>> From: Anoop J. <cs99001@nitc.ac.in>
>> To: linux-kernel@vger.kernel.org, linux-mm@kvack.org
>>
>>
>> How does page coloring work. Iwant its mechanism not the implementation.
>> I went through some pages of W.L.Lynch's paper on cache and VM. Still not
>> able to grasp it .
>>
>>
>> Thanks in advance
>>
>>
>>
>> -
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
>>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: your mail
2003-01-24 6:06 ` John Alvord
@ 2003-01-25 2:29 ` Jason Papadopoulos
2003-01-25 2:26 ` Larry McVoy
0 siblings, 1 reply; 14+ messages in thread
From: Jason Papadopoulos @ 2003-01-25 2:29 UTC (permalink / raw)
To: linux-kernel, linux-mm
At 10:06 PM 1/23/03 -0800, John Alvord wrote:
>The big challenge in Linux is that several serious attempts to add
>page coloring have foundered on the shoals of "no benefit found". It
>may be that the typical hardware Linux runs on just doesn't experience
>the problem very much.
Another strike against page coloring is that it gives tremendous benefits
when caches are large and not very associative, but if both of these are
not present the benefits are much smaller. In the case of latter-day PCs,
neither of these is the case: the caches are very small and at least 8-way
set associative.
For the record, I finally got to try my own page coloring patch on a 1GHz
Athlon Thunderbird system with 256kB L2 cache. With the present patch, my
own number crunching benchmarks and a kernel compile don't show any benefit
at all, and lmbench is completely unchanged except for the mmap latency,
which is slightly worse. Hardly a compelling case for PCs!
Oh well. At least now I'll be able to port to 2.5 :)
jasonp
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: your mail
2003-01-25 2:29 ` Jason Papadopoulos
@ 2003-01-25 2:26 ` Larry McVoy
2003-01-25 17:47 ` Eric W. Biederman
0 siblings, 1 reply; 14+ messages in thread
From: Larry McVoy @ 2003-01-25 2:26 UTC (permalink / raw)
To: Jason Papadopoulos; +Cc: linux-kernel, linux-mm
> For the record, I finally got to try my own page coloring patch on a 1GHz
> Athlon Thunderbird system with 256kB L2 cache. With the present patch, my
> own number crunching benchmarks and a kernel compile don't show any benefit
> at all, and lmbench is completely unchanged except for the mmap latency,
> which is slightly worse. Hardly a compelling case for PCs!
If it works correctly then the variability in lat_ctx should go away.
Try this
for p in 2 4 8 12 16 24 32 64
do for size in 0 2 4 8 16
do for i in 1 2 3 4 5 6 7 8 9 0
do lat_ctx -s$size $p
done
done
done
on both the with and without kernel. The page coloring should make the
numbers rock steady, without it, they will bounce a lot.
--
---
Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: your mail
2003-01-25 2:26 ` Larry McVoy
@ 2003-01-25 17:47 ` Eric W. Biederman
2003-01-25 23:10 ` Larry McVoy
0 siblings, 1 reply; 14+ messages in thread
From: Eric W. Biederman @ 2003-01-25 17:47 UTC (permalink / raw)
To: Larry McVoy; +Cc: Jason Papadopoulos, linux-kernel, linux-mm
Larry McVoy <lm@bitmover.com> writes:
> > For the record, I finally got to try my own page coloring patch on a 1GHz
> > Athlon Thunderbird system with 256kB L2 cache. With the present patch, my
> > own number crunching benchmarks and a kernel compile don't show any benefit
> > at all, and lmbench is completely unchanged except for the mmap latency,
> > which is slightly worse. Hardly a compelling case for PCs!
>
> If it works correctly then the variability in lat_ctx should go away.
> Try this
>
> for p in 2 4 8 12 16 24 32 64
> do for size in 0 2 4 8 16
> do for i in 1 2 3 4 5 6 7 8 9 0
> do lat_ctx -s$size $p
> done
> done
> done
>
> on both the with and without kernel. The page coloring should make the
> numbers rock steady, without it, they will bounce a lot.
On the same kind of vein I have seen some tremendous variability in the
stream benchmark. Under linux I have gotten it to very as much
as a 100MB/sec by running updatedb, between runs. In one case
it ran faster with updatedb running in the background.
But at the same time streams tends to be very steady if you have a quiet
machine and run it several times in a row repeatedly because it gets
allocated essentially the same memory every run.
So I do no the variables of cache contention do have effect on some
real programs. I have not yet tracked it down to see if cache coloring
could be a benefit. I suspect the buddy allocator actually comes
quite close most of the time, and tricks like allocating multiple pages
at once could improve that even more with very little effort, while reducing
page fault miss times.
I am wondering if there is any point in biasing page addresses in between
processes so that processes are less likely to have a cache conflict.
i.e. process 1 address 0 %16K == 0, process 2 address 0 %16K == 4K
Eric
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: your mail
2003-01-25 17:47 ` Eric W. Biederman
@ 2003-01-25 23:10 ` Larry McVoy
2003-01-26 8:12 ` David S. Miller
0 siblings, 1 reply; 14+ messages in thread
From: Larry McVoy @ 2003-01-25 23:10 UTC (permalink / raw)
To: Eric W. Biederman; +Cc: Larry McVoy, Jason Papadopoulos, linux-kernel, linux-mm
> I am wondering if there is any point in biasing page addresses in between
> processes so that processes are less likely to have a cache conflict.
> i.e. process 1 address 0 %16K == 0, process 2 address 0 %16K == 4K
All good page coloring implementation do exactly that. The starting
index into the page buckets is based on process id.
--
---
Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: your mail
2003-01-25 23:10 ` Larry McVoy
@ 2003-01-26 8:12 ` David S. Miller
0 siblings, 0 replies; 14+ messages in thread
From: David S. Miller @ 2003-01-26 8:12 UTC (permalink / raw)
To: Larry McVoy; +Cc: Eric W. Biederman, Jason Papadopoulos, linux-kernel, linux-mm
On Sat, 2003-01-25 at 15:10, Larry McVoy wrote:
> All good page coloring implementation do exactly that. The starting
> index into the page buckets is based on process id.
I think everyone interested in learning more about this
topic should go read the following papers, they were very
helpful when I was fiddling around in this area.
These papers, in turn, reference several others which are
good reads as well.
1) W. L. Lynch, B. K. Bray, and M. J. Flynn. "The effect of page
allocation on caches". In Micro-25 Conference Proceedings, pages
222-225, December 1992.
2) W. Lynch and M. Flynn. "Cache improvements through colored page
allocation". ACM Transactions on Computer Systems, 1993. Submitted
for review, 1992.
3) William L. Lynch. "The Interaction of Virtual Memory and Cache
Memory". PhD thesis, Stanford University, October
1993. CSL-TR-93-587.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* (unknown)
@ 2004-02-22 4:41 bhihjm
0 siblings, 0 replies; 14+ messages in thread
From: bhihjm @ 2004-02-22 4:41 UTC (permalink / raw)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
^ permalink raw reply [flat|nested] 14+ messages in thread
* (unknown)
@ 2004-03-04 14:11 Jonathon Elmore
0 siblings, 0 replies; 14+ messages in thread
From: Jonathon Elmore @ 2004-03-04 14:11 UTC (permalink / raw)
To: Aart
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 0/3] Optimize CONFIG_DEBUG_PAGEALLOC
@ 2016-01-27 10:09 Christian Borntraeger
2016-01-27 10:10 ` [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting Christian Borntraeger
2016-01-27 10:10 ` [PATCH v3 3/3] s390: query dynamic DEBUG_PAGEALLOC setting Christian Borntraeger
0 siblings, 2 replies; 14+ messages in thread
From: Christian Borntraeger @ 2016-01-27 10:09 UTC (permalink / raw)
To: akpm
Cc: linux-kernel, linux-mm, linux-arch, linux-s390, x86,
linuxppc-dev, davem, Joonsoo Kim, davej, Christian Borntraeger
Andrew, since the arch patches depend on the base patch, maybe the mm
tree is the right one? I have acks/reviews for the s390/x86 part.
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.
Power can probably do the same, Michael/Ben?
I am not sure about sparc. Sparc seems to allocate the TSB buffer
really early. David?
V2->V3:
- Fix whitespace/indent breakage in s390 patch
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 | 6 +++---
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, 24 insertions(+), 27 deletions(-)
--
2.3.0
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting
2016-01-27 10:09 [PATCH v3 0/3] Optimize CONFIG_DEBUG_PAGEALLOC Christian Borntraeger
@ 2016-01-27 10:10 ` Christian Borntraeger
2016-01-27 22:17 ` David Rientjes
2016-01-27 22:18 ` (unknown) David Rientjes via Linuxppc-dev
2016-01-27 10:10 ` [PATCH v3 3/3] s390: query dynamic DEBUG_PAGEALLOC setting Christian Borntraeger
1 sibling, 2 replies; 14+ messages in thread
From: Christian Borntraeger @ 2016-01-27 10:10 UTC (permalink / raw)
To: akpm
Cc: linux-kernel, linux-mm, linux-arch, linux-s390, x86,
linuxppc-dev, davem, Joonsoo Kim, davej, Christian Borntraeger
We can use debug_pagealloc_enabled() to check if we can map
the identity mapping with 2MB pages. We can also add the state
into the dump_stack output.
The patch does not touch the code for the 1GB pages, which ignored
CONFIG_DEBUG_PAGEALLOC. Do we need to fence this as well?
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/x86/kernel/dumpstack.c | 5 ++---
arch/x86/mm/init.c | 7 ++++---
arch/x86/mm/pageattr.c | 14 ++++----------
3 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index 9c30acf..32e5699 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -265,9 +265,8 @@ int __die(const char *str, struct pt_regs *regs, long err)
#ifdef CONFIG_SMP
printk("SMP ");
#endif
-#ifdef CONFIG_DEBUG_PAGEALLOC
- printk("DEBUG_PAGEALLOC ");
-#endif
+ if (debug_pagealloc_enabled())
+ printk("DEBUG_PAGEALLOC ");
#ifdef CONFIG_KASAN
printk("KASAN");
#endif
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 493f541..39823fd 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -150,13 +150,14 @@ static int page_size_mask;
static void __init probe_page_size_mask(void)
{
-#if !defined(CONFIG_DEBUG_PAGEALLOC) && !defined(CONFIG_KMEMCHECK)
+#if !defined(CONFIG_KMEMCHECK)
/*
- * For CONFIG_DEBUG_PAGEALLOC, identity mapping will use small pages.
+ * For CONFIG_KMEMCHECK or pagealloc debugging, identity mapping will
+ * use small pages.
* This will simplify cpa(), which otherwise needs to support splitting
* large pages into small in interrupt context, etc.
*/
- if (cpu_has_pse)
+ if (cpu_has_pse && !debug_pagealloc_enabled())
page_size_mask |= 1 << PG_LEVEL_2M;
#endif
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index fc6a4c8..5f68987 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -106,12 +106,6 @@ static inline unsigned long highmap_end_pfn(void)
#endif
-#ifdef CONFIG_DEBUG_PAGEALLOC
-# define debug_pagealloc 1
-#else
-# define debug_pagealloc 0
-#endif
-
static inline int
within(unsigned long addr, unsigned long start, unsigned long end)
{
@@ -708,10 +702,10 @@ static int split_large_page(struct cpa_data *cpa, pte_t *kpte,
{
struct page *base;
- if (!debug_pagealloc)
+ if (!debug_pagealloc_enabled())
spin_unlock(&cpa_lock);
base = alloc_pages(GFP_KERNEL | __GFP_NOTRACK, 0);
- if (!debug_pagealloc)
+ if (!debug_pagealloc_enabled())
spin_lock(&cpa_lock);
if (!base)
return -ENOMEM;
@@ -1331,10 +1325,10 @@ static int __change_page_attr_set_clr(struct cpa_data *cpa, int checkalias)
if (cpa->flags & (CPA_ARRAY | CPA_PAGES_ARRAY))
cpa->numpages = 1;
- if (!debug_pagealloc)
+ if (!debug_pagealloc_enabled())
spin_lock(&cpa_lock);
ret = __change_page_attr(cpa, checkalias);
- if (!debug_pagealloc)
+ if (!debug_pagealloc_enabled())
spin_unlock(&cpa_lock);
if (ret)
return ret;
--
2.3.0
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting
2016-01-27 10:10 ` [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting Christian Borntraeger
@ 2016-01-27 22:17 ` David Rientjes
2016-01-28 9:48 ` Christian Borntraeger
2016-01-27 22:18 ` (unknown) David Rientjes via Linuxppc-dev
1 sibling, 1 reply; 14+ messages in thread
From: David Rientjes @ 2016-01-27 22:17 UTC (permalink / raw)
To: Christian Borntraeger
Cc: akpm, linux-kernel, linux-mm, linux-arch, linux-s390, x86,
linuxppc-dev, davem, Joonsoo Kim, davej
On Wed, 27 Jan 2016, Christian Borntraeger wrote:
> We can use debug_pagealloc_enabled() to check if we can map
> the identity mapping with 2MB pages. We can also add the state
> into the dump_stack output.
>
> The patch does not touch the code for the 1GB pages, which ignored
> CONFIG_DEBUG_PAGEALLOC. Do we need to fence this as well?
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> ---
> arch/x86/kernel/dumpstack.c | 5 ++---
> arch/x86/mm/init.c | 7 ++++---
> arch/x86/mm/pageattr.c | 14 ++++----------
> 3 files changed, 10 insertions(+), 16 deletions(-)
>
> diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
> index 9c30acf..32e5699 100644
> --- a/arch/x86/kernel/dumpstack.c
> +++ b/arch/x86/kernel/dumpstack.c
> @@ -265,9 +265,8 @@ int __die(const char *str, struct pt_regs *regs, long err)
> #ifdef CONFIG_SMP
> printk("SMP ");
> #endif
> -#ifdef CONFIG_DEBUG_PAGEALLOC
> - printk("DEBUG_PAGEALLOC ");
> -#endif
> + if (debug_pagealloc_enabled())
> + printk("DEBUG_PAGEALLOC ");
> #ifdef CONFIG_KASAN
> printk("KASAN");
> #endif
> diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
> index 493f541..39823fd 100644
> --- a/arch/x86/mm/init.c
> +++ b/arch/x86/mm/init.c
> @@ -150,13 +150,14 @@ static int page_size_mask;
>
> static void __init probe_page_size_mask(void)
> {
> -#if !defined(CONFIG_DEBUG_PAGEALLOC) && !defined(CONFIG_KMEMCHECK)
> +#if !defined(CONFIG_KMEMCHECK)
> /*
> - * For CONFIG_DEBUG_PAGEALLOC, identity mapping will use small pages.
> + * For CONFIG_KMEMCHECK or pagealloc debugging, identity mapping will
> + * use small pages.
> * This will simplify cpa(), which otherwise needs to support splitting
> * large pages into small in interrupt context, etc.
> */
> - if (cpu_has_pse)
> + if (cpu_has_pse && !debug_pagealloc_enabled())
> page_size_mask |= 1 << PG_LEVEL_2M;
> #endif
>
I would have thought free_init_pages() would be modified to use
debug_pagealloc_enabled() as well?
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting
2016-01-27 22:17 ` David Rientjes
@ 2016-01-28 9:48 ` Christian Borntraeger
2016-01-28 23:03 ` David Rientjes
2016-01-28 23:04 ` (unknown) David Rientjes via Linuxppc-dev
0 siblings, 2 replies; 14+ messages in thread
From: Christian Borntraeger @ 2016-01-28 9:48 UTC (permalink / raw)
To: David Rientjes
Cc: akpm, linux-kernel, linux-mm, linux-arch, linux-s390, x86,
linuxppc-dev, davem, Joonsoo Kim, davej
On 01/27/2016 11:17 PM, David Rientjes wrote:
> On Wed, 27 Jan 2016, Christian Borntraeger wrote:
>
>> We can use debug_pagealloc_enabled() to check if we can map
>> the identity mapping with 2MB pages. We can also add the state
>> into the dump_stack output.
>>
>> The patch does not touch the code for the 1GB pages, which ignored
>> CONFIG_DEBUG_PAGEALLOC. Do we need to fence this as well?
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
>> ---
>> arch/x86/kernel/dumpstack.c | 5 ++---
>> arch/x86/mm/init.c | 7 ++++---
>> arch/x86/mm/pageattr.c | 14 ++++----------
>> 3 files changed, 10 insertions(+), 16 deletions(-)
>>
>> diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
>> index 9c30acf..32e5699 100644
>> --- a/arch/x86/kernel/dumpstack.c
>> +++ b/arch/x86/kernel/dumpstack.c
>> @@ -265,9 +265,8 @@ int __die(const char *str, struct pt_regs *regs, long err)
>> #ifdef CONFIG_SMP
>> printk("SMP ");
>> #endif
>> -#ifdef CONFIG_DEBUG_PAGEALLOC
>> - printk("DEBUG_PAGEALLOC ");
>> -#endif
>> + if (debug_pagealloc_enabled())
>> + printk("DEBUG_PAGEALLOC ");
>> #ifdef CONFIG_KASAN
>> printk("KASAN");
>> #endif
>> diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
>> index 493f541..39823fd 100644
>> --- a/arch/x86/mm/init.c
>> +++ b/arch/x86/mm/init.c
>> @@ -150,13 +150,14 @@ static int page_size_mask;
>>
>> static void __init probe_page_size_mask(void)
>> {
>> -#if !defined(CONFIG_DEBUG_PAGEALLOC) && !defined(CONFIG_KMEMCHECK)
>> +#if !defined(CONFIG_KMEMCHECK)
>> /*
>> - * For CONFIG_DEBUG_PAGEALLOC, identity mapping will use small pages.
>> + * For CONFIG_KMEMCHECK or pagealloc debugging, identity mapping will
>> + * use small pages.
>> * This will simplify cpa(), which otherwise needs to support splitting
>> * large pages into small in interrupt context, etc.
>> */
>> - if (cpu_has_pse)
>> + if (cpu_has_pse && !debug_pagealloc_enabled())
>> page_size_mask |= 1 << PG_LEVEL_2M;
>> #endif
>>
>
> I would have thought free_init_pages() would be modified to use
> debug_pagealloc_enabled() as well?
Indeed, I only touched the identity mapping and dump stack.
The question is do we really want to change free_init_pages as well?
The unmapping during runtime causes significant overhead, but the
unmapping after init imposes almost no runtime overhead. Of course,
things get fishy now as what is enabled and what not.
Kconfig after my patch "mm/debug_pagealloc: Ask users for default setting of debug_pagealloc"
(in mm) now states
----snip----
By default this option will have a small overhead, e.g. by not
allowing the kernel mapping to be backed by large pages on some
architectures. Even bigger overhead comes when the debugging is
enabled by DEBUG_PAGEALLOC_ENABLE_DEFAULT or the debug_pagealloc
command line parameter.
----snip----
So I am tempted to NOT change free_init_pages, but the x86 maintainers
can certainly decide differently. Ingo, Thomas, H. Peter, please advise.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting
2016-01-28 9:48 ` Christian Borntraeger
@ 2016-01-28 23:03 ` David Rientjes
2016-02-02 21:52 ` (unknown) David Rientjes via Linuxppc-dev
2016-01-28 23:04 ` (unknown) David Rientjes via Linuxppc-dev
1 sibling, 1 reply; 14+ messages in thread
From: David Rientjes @ 2016-01-28 23:03 UTC (permalink / raw)
To: Christian Borntraeger
Cc: akpm, linux-kernel, linux-mm, linux-arch, linux-s390, x86,
linuxppc-dev, davem, Joonsoo Kim, davej
On Thu, 28 Jan 2016, Christian Borntraeger wrote:
> Indeed, I only touched the identity mapping and dump stack.
> The question is do we really want to change free_init_pages as well?
> The unmapping during runtime causes significant overhead, but the
> unmapping after init imposes almost no runtime overhead. Of course,
> things get fishy now as what is enabled and what not.
>
> Kconfig after my patch "mm/debug_pagealloc: Ask users for default setting of debug_pagealloc"
> (in mm) now states
> ----snip----
> By default this option will have a small overhead, e.g. by not
> allowing the kernel mapping to be backed by large pages on some
> architectures. Even bigger overhead comes when the debugging is
> enabled by DEBUG_PAGEALLOC_ENABLE_DEFAULT or the debug_pagealloc
> command line parameter.
> ----snip----
>
> So I am tempted to NOT change free_init_pages, but the x86 maintainers
> can certainly decide differently. Ingo, Thomas, H. Peter, please advise.
>
I'm sorry, but I thought the discussion of the previous version of the
patchset led to deciding that all CONFIG_DEBUG_PAGEALLOC behavior would be
controlled by being enabled on the commandline and checked with
debug_pagealloc_enabled().
I don't think we should have a CONFIG_DEBUG_PAGEALLOC that does some stuff
and then a commandline parameter or CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT
to enable more stuff. It should either be all enabled by the commandline
(or config option) or split into a separate entity.
CONFIG_DEBUG_PAGEALLOC_LIGHT and CONFIG_DEBUG_PAGEALLOC would be fine, but
the current state is very confusing about what is being done and what
isn't.
It also wouldn't hurt to enumerate what is enabled and what isn't enabled
in the Kconfig entry.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 14+ messages in thread
* (unknown)
2016-01-28 23:03 ` David Rientjes
@ 2016-02-02 21:52 ` David Rientjes via Linuxppc-dev
0 siblings, 0 replies; 14+ messages in thread
From: David Rientjes via Linuxppc-dev @ 2016-02-02 21:52 UTC (permalink / raw)
To: Christian Borntraeger
Cc: linux-arch, linux-s390, davej, x86, linux-kernel, linux-mm,
Joonsoo Kim, akpm, linuxppc-dev, davem
[-- Attachment #1: Type: message/rfc822, Size: 5486 bytes --]
From: David Rientjes <rientjes@google.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, x86@kernel.org, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net, Joonsoo Kim <iamjoonsoo.kim@lge.com>, davej@codemonkey.org.uk
Subject: Re: [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting
Date: Tue, 2 Feb 2016 13:51:34 -0800 (PST)
Message-ID: <alpine.DEB.2.10.1602021351290.4977@chino.kir.corp.google.com>
On Thu, 28 Jan 2016, David Rientjes wrote:
> On Thu, 28 Jan 2016, Christian Borntraeger wrote:
>
> > Indeed, I only touched the identity mapping and dump stack.
> > The question is do we really want to change free_init_pages as well?
> > The unmapping during runtime causes significant overhead, but the
> > unmapping after init imposes almost no runtime overhead. Of course,
> > things get fishy now as what is enabled and what not.
> >
> > Kconfig after my patch "mm/debug_pagealloc: Ask users for default setting of debug_pagealloc"
> > (in mm) now states
> > ----snip----
> > By default this option will have a small overhead, e.g. by not
> > allowing the kernel mapping to be backed by large pages on some
> > architectures. Even bigger overhead comes when the debugging is
> > enabled by DEBUG_PAGEALLOC_ENABLE_DEFAULT or the debug_pagealloc
> > command line parameter.
> > ----snip----
> >
> > So I am tempted to NOT change free_init_pages, but the x86 maintainers
> > can certainly decide differently. Ingo, Thomas, H. Peter, please advise.
> >
>
> I'm sorry, but I thought the discussion of the previous version of the
> patchset led to deciding that all CONFIG_DEBUG_PAGEALLOC behavior would be
> controlled by being enabled on the commandline and checked with
> debug_pagealloc_enabled().
>
> I don't think we should have a CONFIG_DEBUG_PAGEALLOC that does some stuff
> and then a commandline parameter or CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT
> to enable more stuff. It should either be all enabled by the commandline
> (or config option) or split into a separate entity.
> CONFIG_DEBUG_PAGEALLOC_LIGHT and CONFIG_DEBUG_PAGEALLOC would be fine, but
> the current state is very confusing about what is being done and what
> isn't.
>
Ping?
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* (unknown)
2016-01-28 9:48 ` Christian Borntraeger
2016-01-28 23:03 ` David Rientjes
@ 2016-01-28 23:04 ` David Rientjes via Linuxppc-dev
1 sibling, 0 replies; 14+ messages in thread
From: David Rientjes via Linuxppc-dev @ 2016-01-28 23:04 UTC (permalink / raw)
To: Christian Borntraeger
Cc: linux-arch, linux-s390, davej, x86, linux-kernel, linux-mm,
Joonsoo Kim, akpm, linuxppc-dev, davem
[-- Attachment #1: Type: message/rfc822, Size: 5371 bytes --]
From: David Rientjes <rientjes@google.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, x86@kernel.org, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net, Joonsoo Kim <iamjoonsoo.kim@lge.com>, davej@codemonkey.org.uk
Subject: Re: [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting
Date: Thu, 28 Jan 2016 15:03:39 -0800 (PST)
Message-ID: <alpine.DEB.2.10.1601281500160.31035@chino.kir.corp.google.com>
On Thu, 28 Jan 2016, Christian Borntraeger wrote:
> Indeed, I only touched the identity mapping and dump stack.
> The question is do we really want to change free_init_pages as well?
> The unmapping during runtime causes significant overhead, but the
> unmapping after init imposes almost no runtime overhead. Of course,
> things get fishy now as what is enabled and what not.
>
> Kconfig after my patch "mm/debug_pagealloc: Ask users for default setting of debug_pagealloc"
> (in mm) now states
> ----snip----
> By default this option will have a small overhead, e.g. by not
> allowing the kernel mapping to be backed by large pages on some
> architectures. Even bigger overhead comes when the debugging is
> enabled by DEBUG_PAGEALLOC_ENABLE_DEFAULT or the debug_pagealloc
> command line parameter.
> ----snip----
>
> So I am tempted to NOT change free_init_pages, but the x86 maintainers
> can certainly decide differently. Ingo, Thomas, H. Peter, please advise.
>
I'm sorry, but I thought the discussion of the previous version of the
patchset led to deciding that all CONFIG_DEBUG_PAGEALLOC behavior would be
controlled by being enabled on the commandline and checked with
debug_pagealloc_enabled().
I don't think we should have a CONFIG_DEBUG_PAGEALLOC that does some stuff
and then a commandline parameter or CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT
to enable more stuff. It should either be all enabled by the commandline
(or config option) or split into a separate entity.
CONFIG_DEBUG_PAGEALLOC_LIGHT and CONFIG_DEBUG_PAGEALLOC would be fine, but
the current state is very confusing about what is being done and what
isn't.
It also wouldn't hurt to enumerate what is enabled and what isn't enabled
in the Kconfig entry.
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* (unknown)
2016-01-27 10:10 ` [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting Christian Borntraeger
2016-01-27 22:17 ` David Rientjes
@ 2016-01-27 22:18 ` David Rientjes via Linuxppc-dev
1 sibling, 0 replies; 14+ messages in thread
From: David Rientjes via Linuxppc-dev @ 2016-01-27 22:18 UTC (permalink / raw)
To: Christian Borntraeger
Cc: linux-arch, linux-s390, davej, x86, linux-kernel, linux-mm,
Joonsoo Kim, akpm, linuxppc-dev, davem
[-- Attachment #1: Type: message/rfc822, Size: 5626 bytes --]
From: David Rientjes <rientjes@google.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, x86@kernel.org, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net, Joonsoo Kim <iamjoonsoo.kim@lge.com>, davej@codemonkey.org.uk
Subject: Re: [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting
Date: Wed, 27 Jan 2016 14:17:05 -0800 (PST)
Message-ID: <alpine.DEB.2.10.1601271414180.23510@chino.kir.corp.google.com>
On Wed, 27 Jan 2016, Christian Borntraeger wrote:
> We can use debug_pagealloc_enabled() to check if we can map
> the identity mapping with 2MB pages. We can also add the state
> into the dump_stack output.
>
> The patch does not touch the code for the 1GB pages, which ignored
> CONFIG_DEBUG_PAGEALLOC. Do we need to fence this as well?
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
> ---
> arch/x86/kernel/dumpstack.c | 5 ++---
> arch/x86/mm/init.c | 7 ++++---
> arch/x86/mm/pageattr.c | 14 ++++----------
> 3 files changed, 10 insertions(+), 16 deletions(-)
>
> diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
> index 9c30acf..32e5699 100644
> --- a/arch/x86/kernel/dumpstack.c
> +++ b/arch/x86/kernel/dumpstack.c
> @@ -265,9 +265,8 @@ int __die(const char *str, struct pt_regs *regs, long err)
> #ifdef CONFIG_SMP
> printk("SMP ");
> #endif
> -#ifdef CONFIG_DEBUG_PAGEALLOC
> - printk("DEBUG_PAGEALLOC ");
> -#endif
> + if (debug_pagealloc_enabled())
> + printk("DEBUG_PAGEALLOC ");
> #ifdef CONFIG_KASAN
> printk("KASAN");
> #endif
> diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
> index 493f541..39823fd 100644
> --- a/arch/x86/mm/init.c
> +++ b/arch/x86/mm/init.c
> @@ -150,13 +150,14 @@ static int page_size_mask;
>
> static void __init probe_page_size_mask(void)
> {
> -#if !defined(CONFIG_DEBUG_PAGEALLOC) && !defined(CONFIG_KMEMCHECK)
> +#if !defined(CONFIG_KMEMCHECK)
> /*
> - * For CONFIG_DEBUG_PAGEALLOC, identity mapping will use small pages.
> + * For CONFIG_KMEMCHECK or pagealloc debugging, identity mapping will
> + * use small pages.
> * This will simplify cpa(), which otherwise needs to support splitting
> * large pages into small in interrupt context, etc.
> */
> - if (cpu_has_pse)
> + if (cpu_has_pse && !debug_pagealloc_enabled())
> page_size_mask |= 1 << PG_LEVEL_2M;
> #endif
>
I would have thought free_init_pages() would be modified to use
debug_pagealloc_enabled() as well?
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 3/3] s390: query dynamic DEBUG_PAGEALLOC setting
2016-01-27 10:09 [PATCH v3 0/3] Optimize CONFIG_DEBUG_PAGEALLOC Christian Borntraeger
2016-01-27 10:10 ` [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting Christian Borntraeger
@ 2016-01-27 10:10 ` Christian Borntraeger
2016-01-27 22:22 ` (unknown) David Rientjes via Linuxppc-dev
1 sibling, 1 reply; 14+ messages in thread
From: Christian Borntraeger @ 2016-01-27 10:10 UTC (permalink / raw)
To: akpm
Cc: linux-kernel, linux-mm, linux-arch, linux-s390, x86,
linuxppc-dev, davem, Joonsoo Kim, davej, Christian Borntraeger
We can use debug_pagealloc_enabled() to check if we can map
the identity mapping with 1MB/2GB pages as well as to print
the current setting in dump_stack.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
arch/s390/kernel/dumpstack.c | 6 +++---
arch/s390/mm/vmem.c | 10 ++++------
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/arch/s390/kernel/dumpstack.c b/arch/s390/kernel/dumpstack.c
index dc8e204..e57eb22 100644
--- a/arch/s390/kernel/dumpstack.c
+++ b/arch/s390/kernel/dumpstack.c
@@ -11,6 +11,7 @@
#include <linux/export.h>
#include <linux/kdebug.h>
#include <linux/ptrace.h>
+#include <linux/mm.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <asm/processor.h>
@@ -185,9 +186,8 @@ void die(struct pt_regs *regs, const char *str)
#ifdef CONFIG_SMP
printk("SMP ");
#endif
-#ifdef CONFIG_DEBUG_PAGEALLOC
- printk("DEBUG_PAGEALLOC");
-#endif
+ if (debug_pagealloc_enabled())
+ printk("DEBUG_PAGEALLOC");
printk("\n");
notify_die(DIE_OOPS, str, regs, 0, regs->int_code & 0xffff, SIGSEGV);
print_modules();
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c
index ef7d6c8..d27fccba 100644
--- a/arch/s390/mm/vmem.c
+++ b/arch/s390/mm/vmem.c
@@ -94,16 +94,15 @@ static int vmem_add_mem(unsigned long start, unsigned long size, int ro)
pgd_populate(&init_mm, pg_dir, pu_dir);
}
pu_dir = pud_offset(pg_dir, address);
-#ifndef CONFIG_DEBUG_PAGEALLOC
if (MACHINE_HAS_EDAT2 && pud_none(*pu_dir) && address &&
- !(address & ~PUD_MASK) && (address + PUD_SIZE <= end)) {
+ !(address & ~PUD_MASK) && (address + PUD_SIZE <= end) &&
+ !debug_pagealloc_enabled()) {
pud_val(*pu_dir) = __pa(address) |
_REGION_ENTRY_TYPE_R3 | _REGION3_ENTRY_LARGE |
(ro ? _REGION_ENTRY_PROTECT : 0);
address += PUD_SIZE;
continue;
}
-#endif
if (pud_none(*pu_dir)) {
pm_dir = vmem_pmd_alloc();
if (!pm_dir)
@@ -111,9 +110,9 @@ static int vmem_add_mem(unsigned long start, unsigned long size, int ro)
pud_populate(&init_mm, pu_dir, pm_dir);
}
pm_dir = pmd_offset(pu_dir, address);
-#ifndef CONFIG_DEBUG_PAGEALLOC
if (MACHINE_HAS_EDAT1 && pmd_none(*pm_dir) && address &&
- !(address & ~PMD_MASK) && (address + PMD_SIZE <= end)) {
+ !(address & ~PMD_MASK) && (address + PMD_SIZE <= end) &&
+ !debug_pagealloc_enabled()) {
pmd_val(*pm_dir) = __pa(address) |
_SEGMENT_ENTRY | _SEGMENT_ENTRY_LARGE |
_SEGMENT_ENTRY_YOUNG |
@@ -121,7 +120,6 @@ static int vmem_add_mem(unsigned long start, unsigned long size, int ro)
address += PMD_SIZE;
continue;
}
-#endif
if (pmd_none(*pm_dir)) {
pt_dir = vmem_pte_alloc(address);
if (!pt_dir)
--
2.3.0
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 14+ messages in thread* (unknown)
2016-01-27 10:10 ` [PATCH v3 3/3] s390: query dynamic DEBUG_PAGEALLOC setting Christian Borntraeger
@ 2016-01-27 22:22 ` David Rientjes via Linuxppc-dev
0 siblings, 0 replies; 14+ messages in thread
From: David Rientjes via Linuxppc-dev @ 2016-01-27 22:22 UTC (permalink / raw)
To: Christian Borntraeger
Cc: linux-arch, linux-s390, davej, x86, linux-kernel, linux-mm,
Joonsoo Kim, akpm, linuxppc-dev, davem
[-- Attachment #1: Type: message/rfc822, Size: 3939 bytes --]
From: David Rientjes <rientjes@google.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, x86@kernel.org, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net, Joonsoo Kim <iamjoonsoo.kim@lge.com>, davej@codemonkey.org.uk
Subject: Re: [PATCH v3 3/3] s390: query dynamic DEBUG_PAGEALLOC setting
Date: Wed, 27 Jan 2016 14:18:29 -0800 (PST)
Message-ID: <alpine.DEB.2.10.1601271418190.23510@chino.kir.corp.google.com>
On Wed, 27 Jan 2016, Christian Borntraeger wrote:
> We can use debug_pagealloc_enabled() to check if we can map
> the identity mapping with 1MB/2GB pages as well as to print
> the current setting in dump_stack.
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: David Rientjes <rientjes@google.com>
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2016-02-02 21:52 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-24 5:08 (unknown), Anoop J.
2003-01-24 5:11 ` your mail David Lang
2003-01-24 6:06 ` John Alvord
2003-01-25 2:29 ` Jason Papadopoulos
2003-01-25 2:26 ` Larry McVoy
2003-01-25 17:47 ` Eric W. Biederman
2003-01-25 23:10 ` Larry McVoy
2003-01-26 8:12 ` David S. Miller
2004-02-22 4:41 (unknown) bhihjm
2004-03-04 14:11 (unknown) Jonathon Elmore
2016-01-27 10:09 [PATCH v3 0/3] Optimize CONFIG_DEBUG_PAGEALLOC Christian Borntraeger
2016-01-27 10:10 ` [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting Christian Borntraeger
2016-01-27 22:17 ` David Rientjes
2016-01-28 9:48 ` Christian Borntraeger
2016-01-28 23:03 ` David Rientjes
2016-02-02 21:52 ` (unknown) David Rientjes via Linuxppc-dev
2016-01-28 23:04 ` (unknown) David Rientjes via Linuxppc-dev
2016-01-27 22:18 ` (unknown) David Rientjes via Linuxppc-dev
2016-01-27 10:10 ` [PATCH v3 3/3] s390: query dynamic DEBUG_PAGEALLOC setting Christian Borntraeger
2016-01-27 22:22 ` (unknown) David Rientjes via Linuxppc-dev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox