From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966451AbcBDQVV (ORCPT ); Thu, 4 Feb 2016 11:21:21 -0500 Received: from mail-oi0-f54.google.com ([209.85.218.54]:35553 "EHLO mail-oi0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966411AbcBDQVN (ORCPT ); Thu, 4 Feb 2016 11:21:13 -0500 MIME-Version: 1.0 In-Reply-To: <56B30C52.7040907@de.ibm.com> References: <1454565386-10489-1-git-send-email-iamjoonsoo.kim@lge.com> <1454565386-10489-3-git-send-email-iamjoonsoo.kim@lge.com> <56B30C52.7040907@de.ibm.com> Date: Fri, 5 Feb 2016 01:21:12 +0900 Message-ID: Subject: Re: [PATCH 2/5] mm/slub: query dynamic DEBUG_PAGEALLOC setting From: Joonsoo Kim To: Christian Borntraeger Cc: Andrew Morton , David Rientjes , LKML , Linux Memory Management List , Benjamin Herrenschmidt , Takashi Iwai , Chris Metcalf , Christoph Lameter , linux-api@vger.kernel.org, Joonsoo Kim Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2016-02-04 17:31 GMT+09:00 Christian Borntraeger : > 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 >> --- >> 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; > Looks better! I will fix it on next version. Thanks.