android_kernel_xiaomi_sm8350/arch/sh/kernel
Matt Fleming fb3f3e7fc6 sh: unwinder: Fix memory leak and create our own kmem cache
Plug a memory leak in dwarf_unwinder_dump() where we didn't free the
memory that we had previously allocated for the DWARF frames and DWARF
registers.

Now is also a opportune time to implement our own mempool and kmem
cache. It's a good idea to have a certain number of frame and register
objects in reserve at all times, so that we are guaranteed to have our
allocation satisfied even when memory is scarce. Since we have pools to
allocate from we can implement the registers for each frame as a linked
list as opposed to a sparsely populated array. Whilst it's true that the
lookup time for a linked list is larger than for arrays, there's only
usually a maximum of 8 registers per frame. So the overhead isn't that
much of a concern.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
2009-08-21 13:02:43 +01:00
..
cpu Merge branch 'sh/stable-updates' 2009-08-15 12:59:42 +09:00
vsyscall
.gitignore
asm-offsets.c sh: Provide diagnostic kernel stack checks 2009-07-11 10:07:58 +09:00
cpufreq.c
crash_dump.c
debugtraps.S
disassemble.c
dumpstack.c sh: flag the default unwinder as reliable. 2009-08-15 01:09:03 +09:00
dwarf.c sh: unwinder: Fix memory leak and create our own kmem cache 2009-08-21 13:02:43 +01:00
early_printk.c sh: Fix up early printk build error. 2009-08-04 15:54:33 +09:00
entry-common.S sh: Add CFI annotations for exception return. 2009-08-14 02:02:07 +09:00
ftrace.c sh: Function graph tracer support 2009-07-11 10:08:01 +09:00
gpio.c
head_32.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
head_64.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
idle.c sh: Provide cpu_idle_wait() to fix up cpuidle/SMP build. 2009-06-23 17:30:17 +09:00
init_task.c mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
io_generic.c
io_trapped.c sh: Rework irqflags tracing to fix up CONFIG_PROVE_LOCKING. 2009-07-29 23:01:24 +09:00
io.c sh: pci: Consolidate pci_iomap() and use the generic I/O base. 2009-04-20 16:38:00 +09:00
irq.c sh: unwinder: Move initialization to early_initcall() and tidy up locking. 2009-08-17 05:07:38 +09:00
kgdb.c sh: Rename opcode_t to insn_size_t. 2009-05-09 16:02:08 +09:00
kprobes.c
localtimer.c sh: Move dummy clockevents broadcast timer to its new home. 2009-05-03 18:29:27 +09:00
machine_kexec.c
machvec.c sh: boot word / mode pin support V2 2009-06-01 15:44:49 +09:00
Makefile sh: Merge the _32/_64 variants of arch/sh/kernel/Makefile. 2009-08-16 03:35:26 +09:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
process_32.c sh: Mark __switch_to() as __notrace_funcgraph 2009-07-11 10:08:06 +09:00
process_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-06-18 14:07:35 -07:00
ptrace_32.c sh: Add ftrace syscall tracing support 2009-07-06 20:16:33 +09:00
ptrace_64.c
relocate_kernel.S
setup.c sh: Use bootmem ontop of lmb 2009-07-03 16:16:54 +09:00
sh_bios.c
sh_ksyms_32.c sh: Use DECLARE_EXPORT() for mcount symbol export. 2009-07-11 20:32:14 +09:00
sh_ksyms_64.c sh: Convert sh64 to use the generic checksum code. 2009-06-15 00:00:42 +09:00
signal_32.c sh: Fix declaration of __kernel_sigreturn and __kernel_rt_sigreturn 2009-06-18 18:25:21 +09:00
signal_64.c
smp.c cpumask: Use accessors for cpu_*_mask: sh 2009-06-14 18:24:16 +09:00
stacktrace.c sh: stacktrace: Properly terminate the trace entry buffer. 2009-08-15 01:11:37 +09:00
swsusp.c
sys_sh32.c
sys_sh64.c
sys_sh.c sh: remove stray markers. 2009-06-18 13:38:26 +09:00
syscalls_32.S sh: Wire up sys_perf_counter_open. 2009-06-12 01:33:22 +03:00
syscalls_64.S sh: Wire up sys_perf_counter_open. 2009-06-12 01:33:22 +03:00
time.c Revert "sh: Bump the earlytimer bits back to time_init()." 2009-07-29 22:43:58 +09:00
topology.c
traps_32.c sh: Use the generalized stacktrace ops 2009-08-13 11:50:08 +09:00
traps_64.c sh: Always fixup unaligned userspace accesses on sh64. 2009-05-08 20:32:56 +09:00
traps.c sh: unbreak WARN_ON() 2009-06-17 15:39:52 +09:00
unwinder.c sh: Allow multiple stack unwinders to be setup 2009-08-13 19:49:03 +09:00
vmlinux.lds.S sh: dwarf unwinder support. 2009-08-14 01:58:43 +09:00