• Jason Baron's avatar
    dynamic_debug: add jump label support · 9049fc74
    Jason Baron authored
    Although dynamic debug is often only used for debug builds, sometimes
    its enabled for production builds as well.  Minimize its impact by using
    jump labels.  This reduces the text section by 7000+ bytes in the kernel
    image below.  It does increase data, but this should only be referenced
    when changing the direction of the branches, and hence usually not in
    cache.
    
         text     data     bss       dec     hex  filename
      8194852  4879776  925696  14000324  d5a0c4  vmlinux.pre
      8187337  4960224  925696  14073257  d6bda9  vmlinux.post
    
    Link: http://lkml.kernel.org/r/d165b465e8c89bc582d973758d40be44c33f018b.1467837322.git.jbaron@akamai.comSigned-off-by: default avatarJason Baron <jbaron@akamai.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Chris Metcalf <cmetcalf@mellanox.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Joe Perches <joe@perches.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    9049fc74
dynamic_debug.c 25.3 KB