Re: [PATCH 2/5] mm/slub: query dynamic DEBUG_PAGEALLOC setting
From: Christian Borntraeger <hidden>
Date: 2016-02-04 08:31:23
Also in:
linux-mm, lkml
From: Christian Borntraeger <hidden>
Date: 2016-02-04 08:31:23
Also in:
linux-mm, lkml
On 02/04/2016 06:56 AM, Joonsoo Kim wrote:
We can disable debug_pagealloc processing even if the code is complied with CONFIG_DEBUG_PAGEALLOC. This patch changes the code to query whether it is enabled or not in runtime. Signed-off-by: Joonsoo Kim <redacted> --- mm/slub.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)diff --git a/mm/slub.c b/mm/slub.c index 7d4da68..7b5a965 100644 --- a/mm/slub.c +++ b/mm/slub.c@@ -256,11 +256,12 @@ static inline void *get_freepointer_safe(struct kmem_cache *s, void *object) { void *p; -#ifdef CONFIG_DEBUG_PAGEALLOC - probe_kernel_read(&p, (void **)(object + s->offset), sizeof(p)); -#else - p = get_freepointer(s, object); -#endif + if (debug_pagealloc_enabled()) { + probe_kernel_read(&p, + (void **)(object + s->offset), sizeof(p));
Hmm, this might be a good case for a line longer than 80 chars.... As an alternative revert the logic and return early: if (!debug_pagealloc_enabled()) return get_freepointer(s, object); probe_kernel_read(&p, (void **)(object + s->offset), sizeof(p)); return p; ?
+ } else + p = get_freepointer(s, object); + return p; }