linux/arch/arc/kernel
Vineet Gupta 86effd0dc6 ARC: dw2 unwind: enable cfi pseudo ops in string lib
This uses a new set of annoations viz. ENTRY_CFI/END_CFI to enabel cfi
ops generation.

Note that we didn't change the normal ENTRY/EXIT as we don't actually
want unwind info in the trap/exception/interrutp handlers which use
these, as unwinder then gets confused (it keeps recursing vs. stopping).
Semantically these are leaf routines and unwinding should stop when it
hits those routines.

Before
------

    28.52%     1.19%          9929  hackbench  libuClibc-1.0.17.so   [.] __write_nocancel
            |
            ---__write_nocancel
               |--8.95%--EV_Trap
               |           --8.25%--sys_write
               |                     |--3.93%--sock_write_iter
     ...
               |--2.62%--memset   <==== [LEAF entry as no unwind info]
                         ^^^^^^

After
-----

    29.46%     1.24%         13622  hackbench  libuClibc-1.0.17.so   [.] __write_nocancel
            |
            ---__write_nocancel
               |--9.31%--EV_Trap
               |           --8.62%--sys_write
               |                     |--4.17%--sock_write_iter
     ...
               |--6.19%--sys_write
               |           --6.19%--sock_write_iter
               |                     unix_stream_sendmsg
               |                     |--1.62%--sock_alloc_send_pskb
               |                     |--0.89%--sock_def_readable
               |                     |--0.88%--_raw_spin_unlock_irqrestore
               |                     |--0.69%--memset
               |                     |         ^^^^^^     <==== [now in proper callframe]
               |                     |
               |                      --0.52%--skb_copy_datagram_from_iter

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-09-30 14:48:22 -07:00
..
.gitignore
arc_hostlink.c
arcksyms.c ARC: export __udivdi3 for modules 2016-08-19 14:09:33 -07:00
asm-offsets.c ARCv2: [vdk] dts files and defconfig for HS38 VDK 2015-06-25 06:00:21 +05:30
ctx_sw.c ARC: [plat-eznps] Use dedicated identity auxiliary register. 2016-05-09 09:32:33 +05:30
ctx_sw_asm.S ARC: dw2 unwind: enable cfi pseudo ops in string lib 2016-09-30 14:48:22 -07:00
devtree.c ARC: RIP arc_{get|set}_core_freq() clk API 2016-05-09 09:32:31 +05:30
disasm.c ARC: rename kconfig option for unaligned emulation 2014-10-13 14:46:15 +05:30
entry-arcv2.S ARCv2: Enable LOCKDEP 2016-04-22 18:12:31 +05:30
entry-compact.S ARC: [intc-compact] simplify code for 2 priority levels 2016-05-30 22:45:04 +05:30
entry.S ARC: entry: make ret_from_system_call local label 2016-09-30 14:48:21 -07:00
fpu.c
head.S ARC: boot: Non Master cpus only need to call EARLY_CPU_SETUP once 2015-10-28 16:13:42 +05:30
intc-arcv2.c ARC: [intc-*] switch to linear domain 2016-05-09 09:32:30 +05:30
intc-compact.c ARC: [intc-compact] simplify code for 2 priority levels 2016-05-30 22:45:04 +05:30
irq.c ARC: [intc-*] Do a domain lookup in primary handler for hwirq -> linux virq 2016-05-09 09:32:30 +05:30
kgdb.c ARC: kgdb: generic kgdb_arch_pc() suffices 2014-10-22 16:14:04 -06:00
kprobes.c
Makefile ARC: RIP arc_{get|set}_core_freq() clk API 2016-05-09 09:32:31 +05:30
mcip.c ARC: irq: export some IRQs again 2016-05-09 09:32:30 +05:30
module.c ARC: dw2 unwind: switch to .eh_frame based unwinding 2016-09-30 14:48:20 -07:00
pcibios.c ARC: Add PCI support 2016-03-10 14:44:13 -06:00
perf_event.c arc: perf: Enable generic "cache-references" and "cache-misses" events 2016-09-30 14:48:18 -07:00
process.c ARC: Support syscall ABI v4 2016-08-19 10:44:34 -07:00
ptrace.c ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30
reset.c
setup.c ARCv2: Support dynamic peripheral address space in HS38 rel 3.0 cores 2016-09-30 14:48:17 -07:00
signal.c Fix typos 2016-05-30 10:07:32 +05:30
smp.c ARC: Mark secondary cpu online only after all HW setup is done 2016-05-09 09:32:32 +05:30
stacktrace.c arc: unwind: warn only once if DW2_UNWIND is disabled 2016-06-28 11:11:44 +05:30
sys.c
time.c ARC/time: Convert to hotplug state machine 2016-07-15 10:41:46 +02:00
traps.c ARC: rename unhandled exception handler 2015-04-13 15:14:57 +05:30
troubleshoot.c Fix typos 2016-05-30 10:07:32 +05:30
unaligned.c ARC: change some branchs to jumps to resolve linkage errors 2015-08-20 18:53:15 +05:30
unwind.c ARC: dw2 unwind: switch to .eh_frame based unwinding 2016-09-30 14:48:20 -07:00
vmlinux.lds.S ARC: dw2 unwind: switch to .eh_frame based unwinding 2016-09-30 14:48:20 -07:00