Jason Baron
9049fc7453
dynamic_debug: add jump label support
...
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.com
Signed-off-by: Jason 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: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-08-04 08:50:07 -04:00
..
842
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2016-03-17 21:38:27 -07:00
fonts
lz4
lib: lz4: cleanup unaligned access efficiency detection
2016-04-13 09:22:49 -07:00
lzo
mpi
lib/mpi: Fix SG miter leak
2016-07-29 18:30:16 +08:00
raid6
powerpc: Create disable_kernel_{fp,altivec,vsx,spe}()
2015-12-01 13:52:25 +11:00
reed_solomon
xz
zlib_deflate
zlib_deflate/deftree: remove bi_reverse()
2015-09-10 13:29:01 -07:00
zlib_inflate
.gitignore
argv_split.c
asn1_decoder.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-05-17 09:33:39 -07:00
assoc_array.c
assoc_array: don't call compare_object() on a node
2016-04-06 14:06:48 +01:00
atomic64.c
locking/atomic: Implement atomic{,64,_long}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()
2016-06-16 10:48:32 +02:00
atomic64_test.c
locking/atomic: Implement atomic{,64,_long}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()
2016-06-16 10:48:32 +02:00
audit.c
bcd.c
bch.c
bitmap.c
x86/uaccess: Move thread_info::addr_limit to thread_struct
2016-07-15 10:26:30 +02:00
bitrev.c
bsearch.c
btree.c
treewide: Remove old email address
2015-11-23 09:44:58 +01:00
bug.c
lib/bug.c: use common WARN helper
2016-03-17 15:09:34 -07:00
build_OID_registry
bust_spinlocks.c
chacha20.c
random: replace non-blocking pool with a Chacha20-based CRNG
2016-07-03 00:57:23 -04:00
check_signature.c
checksum.c
ipv4: Update parameters for csum_tcpudp_magic to their original types
2016-03-13 23:55:13 -04:00
clz_ctz.c
clz_tab.c
cmdline.c
compat_audit.c
cordic.c
cpu-notifier-error-inject.c
cpu_rmap.c
cpumask.c
cpumask: Export cpumask_any_but()
2016-02-29 09:35:20 +01:00
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
crc7.c
crc8.c
crc16.c
crc32.c
crc32: use ktime_get_ns() for measurement
2016-08-02 19:35:08 -04:00
crc32defs.h
ctype.c
debug_info.c
debug_locks.c
debugobjects.c
debugobjects: insulate non-fixup logic related to static obj from fixup callbacks
2016-05-19 19:12:14 -07:00
dec_and_lock.c
decompress.c
lib/decompress: set the compressor name to NULL on error
2015-07-17 16:39:54 -07:00
decompress_bunzip2.c
lib/decompressors: use real out buf size for gunzip with kernel
2015-09-10 13:29:01 -07:00
decompress_inflate.c
lib/decompressors: use real out buf size for gunzip with kernel
2015-09-10 13:29:01 -07:00
decompress_unlz4.c
lib/decompressors: use real out buf size for gunzip with kernel
2015-09-10 13:29:01 -07:00
decompress_unlzma.c
lib/decompress_unlzma: Do a NULL check for pointer
2015-09-10 13:29:01 -07:00
decompress_unlzo.c
lib/decompressors: use real out buf size for gunzip with kernel
2015-09-10 13:29:01 -07:00
decompress_unxz.c
lib/decompressors: use real out buf size for gunzip with kernel
2015-09-10 13:29:01 -07:00
devres.c
devres: use to_pci_dev()
2016-02-07 23:17:59 -08:00
digsig.c
lib/digsig: digsig_verify_rsa(): return -EINVAL if modulo length is zero
2016-05-31 16:42:00 +08:00
div64.c
__div64_32(): make it overridable at compile time
2015-11-16 14:42:12 -05:00
dma-debug.c
dma-debug: track bucket lock state for static checkers
2016-07-26 16:19:19 -07:00
dma-noop.c
dma-mapping: use unsigned long for dma_attrs
2016-08-04 08:50:07 -04:00
dump_stack.c
dump_stack: avoid potential deadlocks
2016-02-05 18:10:40 -08:00
dynamic_debug.c
dynamic_debug: add jump label support
2016-08-04 08:50:07 -04:00
dynamic_queue_limits.c
earlycpio.c
lib/cpio: Make find_cpio_data()'s offset arg optional
2016-06-08 11:04:19 +02:00
extable.c
extable: add support for relative extables to search and sort routines
2016-02-24 14:57:26 +00:00
fault-inject.c
fault-inject: fix inverted interval/probability values in printk
2015-10-23 17:55:10 +09:00
fdt.c
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
find_bit.c
flex_array.c
flex_proportions.c
lib+mm: fix few spelling mistakes
2016-02-15 11:18:23 +01:00
gcd.c
lib/GCD.c: use binary GCD algorithm instead of Euclidean
2016-05-20 17:58:30 -07:00
gen_crc32table.c
genalloc.c
CPM/QE: use genalloc to manage CPM/QE muram
2015-12-22 17:10:18 -06:00
glob.c
halfmd4.c
lib/halfmd4.c: use rol32 inline function in the ROUND macro
2015-11-06 17:50:42 -08:00
hexdump.c
lib/hexdump.c: truncate output in case of overflow
2015-11-06 17:50:42 -08:00
hweight.c
x86/hweight: Get rid of the special calling convention
2016-06-08 15:01:02 +02:00
idr.c
mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd
2015-11-06 17:50:42 -08:00
inflate.c
int_sqrt.c
interval_tree.c
interval_tree_test.c
iomap.c
iomap_copy.c
lib/iomap_copy.c: add __ioread32_copy()
2016-01-20 17:09:18 -08:00
iommu-common.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
2015-11-05 16:34:48 -08:00
iommu-helper.c
lib/iommu-helper: skip to next segment
2016-08-02 19:35:07 -04:00
ioremap.c
iov_iter.c
mm: optimize copy_page_to/from_iter_iovec
2016-07-28 16:07:41 -07:00
irq_poll.c
irq_poll: Fix irq_poll_sched()
2016-01-19 15:26:55 -05:00
irq_regs.c
is_single_threaded.c
lib/is_single_threaded.c: change current_is_single_threaded() to use for_each_thread()
2015-11-06 17:50:42 -08:00
jedec_ddr_data.c
kasprintf.c
lib/kasprintf.c: add sanity check to kvasprintf
2016-01-16 11:17:27 -08:00
Kconfig
raxix-tree: introduce CONFIG_RADIX_TREE_MULTIORDER
2016-05-20 17:58:30 -07:00
Kconfig.debug
Merge branch 'akpm' (patches from Andrew)
2016-08-02 21:08:07 -04:00
Kconfig.kasan
mm, kasan: switch SLUB to stackdepot, enable memory quarantine for SLUB
2016-07-28 16:07:41 -07:00
Kconfig.kgdb
kgdb: depends on VT
2016-05-23 17:04:14 -07:00
Kconfig.kmemcheck
Kconfig.ubsan
ubsan: fix tree-wide -Wmaybe-uninitialized false positives
2016-03-22 15:36:02 -07:00
kfifo.c
klist.c
klist: fix starting point removed bug in klist iterators
2016-02-07 22:18:47 -08:00
kobject.c
kobject: export kset_find_obj() for module use
2016-02-09 17:36:34 -08:00
kobject_uevent.c
kstrtox.c
lib: add "on"/"off" support to kstrtobool
2016-03-17 15:09:34 -07:00
kstrtox.h
lcm.c
libcrc32c.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-01-22 11:58:43 -08:00
list_debug.c
list: kill list_force_poison()
2016-03-09 15:43:42 -08:00
list_sort.c
llist.c
lib/llist.c: fix data race in llist_del_first
2015-11-06 17:50:42 -08:00
locking-selftest-hardirq.h
locking-selftest-mutex.h
locking-selftest-rlock-hardirq.h
locking-selftest-rlock-softirq.h
locking-selftest-rlock.h
locking-selftest-rsem.h
locking-selftest-softirq.h
locking-selftest-spin-hardirq.h
locking-selftest-spin-softirq.h
locking-selftest-spin.h
locking-selftest-wlock-hardirq.h
locking-selftest-wlock-softirq.h
locking-selftest-wlock.h
locking-selftest-wsem.h
locking-selftest.c
lockref.c
locking/lockref: Remove homebrew cmpxchg64_relaxed() macro definition
2015-08-12 11:59:04 +02:00
lru_cache.c
lru_cache: Converted lc_seq_printf_status to return void
2015-11-25 09:22:02 -07:00
Makefile
A number of improvements for the /dev/random driver; the most
2016-07-27 15:11:55 -07:00
md5.c
memory-notifier-error-inject.c
memweight.c
net_utils.c
netdev-notifier-error-inject.c
net: Add support for CHANGEUPPER notifier error injection
2015-12-03 11:49:23 -05:00
nlattr.c
libnl: fix help of _64bit functions
2016-04-23 20:13:24 -04:00
nmi_backtrace.c
printk/nmi: generic solution for safe printk in NMI
2016-05-20 17:58:30 -07:00
nodemask.c
include/linux/nodemask.h: create next_node_in() helper
2016-05-19 19:12:14 -07:00
notifier-error-inject.c
notifier-error-inject.h
of-reconfig-notifier-error-inject.c
oid_registry.c
once.c
once: make helper generic for calling functions once
2015-10-08 05:26:36 -07:00
parser.c
pci_iomap.c
libnvdimm for 4.3:
2015-09-08 14:35:59 -07:00
percpu-refcount.c
lib+mm: fix few spelling mistakes
2016-02-15 11:18:23 +01:00
percpu_counter.c
percpu_counter: update debugobjects fixup callbacks return type
2016-05-19 19:12:14 -07:00
percpu_ida.c
mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM
2015-11-06 17:50:42 -08:00
percpu_test.c
plist.c
pm-notifier-error-inject.c
radix-tree.c
radix-tree: account nodes to memcg only if explicitly requested
2016-08-02 17:31:41 -04:00
random32.c
timers: Remove set_timer_slack() leftovers
2016-07-07 10:35:09 +02:00
ratelimit.c
ratelimit: extend to print suppressed messages on release
2016-08-02 19:35:06 -04:00
rational.c
rbtree.c
Introduce rb_replace_node_rcu()
2016-07-06 10:51:14 +01:00
rbtree_test.c
reciprocal_div.c
rhashtable.c
rhashtable: accept GFP flags in rhashtable_walk_init
2016-04-05 10:56:32 +02:00
scatterlist.c
scatterlist: fix a typo in comment block of sg_miter_stop()
2016-02-08 10:15:17 -08:00
seq_buf.c
tracing: Use seq_buf_used() in seq_buf_to_user() instead of len
2015-12-23 14:27:20 -05:00
sg_pool.c
lib: scatterlist: move SG pool code from SCSI driver to lib/sg_pool.c
2016-04-15 16:53:14 -04:00
sg_split.c
lib: scatterlist: add sg splitting function
2015-08-24 14:28:01 -06:00
sha1.c
show_mem.c
lib/show_mem.c: correct reserved memory calculation
2015-09-08 15:35:28 -07:00
smp_processor_id.c
sort.c
lib/sort: Add 64 bit swap function
2015-06-25 17:00:40 -07:00
stackdepot.c
lib/stackdepot.c: use __GFP_NOWARN for stack allocations
2016-07-28 16:07:41 -07:00
stmp_device.c
string.c
lib: move strtobool() to kstrtobool()
2016-03-17 15:09:34 -07:00
string_helpers.c
string_helpers: add kstrdup_quotable_file
2016-04-21 10:47:26 +10:00
strncpy_from_user.c
x86/kasan: instrument user memory access API
2016-05-20 17:58:30 -07:00
strnlen_user.c
Use the new batched user accesses in generic user string handling
2015-12-17 10:05:19 -08:00
swiotlb.c
dma-mapping: use unsigned long for dma_attrs
2016-08-04 08:50:07 -04:00
syscall.c
test-kstrtox.c
kstrto*: accept "-0" for signed conversion
2015-09-10 13:29:01 -07:00
test-string_helpers.c
lib/test-string_helpers.c: fix and improve string_get_size() tests
2016-02-03 08:28:43 -08:00
test_bitmap.c
test_bitmap: unit tests for lib/bitmap.c
2016-02-19 22:54:09 -05:00
test_bpf.c
bpf: prepare bpf_int_jit_compile/bpf_prog_select_runtime apis
2016-05-16 13:49:32 -04:00
test_firmware.c
test: firmware_class: add asynchronous request trigger
2016-01-07 13:44:22 -07:00
test_hash.c
vfs: make the string hashes salt the hash
2016-06-10 20:21:46 -07:00
test_hexdump.c
test_hexdump: print statistics at the end
2016-01-20 17:09:18 -08:00
test_kasan.c
kasan/tests: add tests for user memory access functions
2016-05-20 17:58:30 -07:00
test_module.c
test_printf.c
mm, printk: introduce new format string for flags
2016-03-15 16:55:16 -07:00
test_rhashtable.c
rhashtable: accept GFP flags in rhashtable_walk_init
2016-04-05 10:56:32 +02:00
test_static_key_base.c
locking/static_keys: Provide a selftest
2015-08-03 11:51:12 +02:00
test_static_keys.c
locking/static_keys: Avoid nested functions
2016-02-09 10:27:29 +01:00
test_user_copy.c
test_uuid.c
lib/uuid: add a test module
2016-05-30 15:26:57 -07:00
textsearch.c
timerqueue.c
ts_bm.c
ts_fsm.c
ts_kmp.c
ubsan.c
UBSAN: fix typo in format string
2016-08-02 17:31:41 -04:00
ubsan.h
UBSAN: run-time undefined behavior sanity checker
2016-01-20 17:09:18 -08:00
ucs2_string.c
lib/ucs2_string: Correct ucs2 -> utf8 conversion
2016-02-16 12:49:05 +00:00
usercopy.c
uuid.c
lib/uuid.c: use correct offset in uuid parser
2016-05-30 15:26:57 -07:00
vsprintf.c
lib/uuid.c: introduce a few more generic helpers
2016-05-20 17:58:30 -07:00