android_kernel_samsung_msm8976/arch/powerpc
Anton Blanchard 6956c1873a powerpc/perf: Fix ABIv2 kernel backtraces
commit 85101af13bb854a6572fa540df7c7201958624b9 upstream.

ABIv2 kernels are failing to backtrace through the kernel. An example:

39.30%  readseek2_proce  [kernel.kallsyms]    [k] find_get_entry
            |
            --- find_get_entry
               __GI___libc_read

The problem is in valid_next_sp() where we check that the new stack
pointer is at least STACK_FRAME_OVERHEAD below the previous one.

ABIv1 has a minimum stack frame size of 112 bytes consisting of 48 bytes
and 64 bytes of parameter save area. ABIv2 changes that to 32 bytes
with no paramter save area.

STACK_FRAME_OVERHEAD is in theory the minimum stack frame size,
but we over 240 uses of it, some of which assume that it includes
space for the parameter area.

We need to work through all our stack defines and rationalise them
but let's fix perf now by creating STACK_FRAME_MIN_SIZE and using
in valid_next_sp(). This fixes the issue:

30.64%  readseek2_proce  [kernel.kallsyms]    [k] find_get_entry
            |
            --- find_get_entry
               pagecache_get_page
               generic_file_read_iter
               new_sync_read
               vfs_read
               sys_read
               syscall_exit
               __GI___libc_read

Reported-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-10-05 14:54:14 -07:00
..
boot MMC highlights for 3.10: 2013-05-04 13:45:17 -07:00
configs USB: remove remaining instances of USB_SUSPEND 2013-05-15 13:44:44 -04:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include powerpc/perf: Fix ABIv2 kernel backtraces 2014-10-05 14:54:14 -07:00
kernel powerpc: Add AT_HWCAP2 to indicate V.CRYPTO category support 2014-07-06 18:54:15 -07:00
kvm KVM: PPC: e500: Fix bad address type in deliver_tlb_misss() 2014-02-06 11:08:17 -08:00
lib powerpc: fix typo 'CONFIG_PPC_CPU' 2014-07-06 18:54:15 -07:00
math-emu
mm powerpc/mm/numa: Fix break placement 2014-09-17 09:03:57 -07:00
net bpf: do not use reciprocal divide 2014-02-06 11:08:16 -08:00
oprofile
perf powerpc/perf: Fix ABIv2 kernel backtraces 2014-10-05 14:54:14 -07:00
platforms powerpc/pseries: Failure on removing device node 2014-09-17 09:03:58 -07:00
sysdev powerpc/pci: Fix boot panic on mpc83xx (regression) 2013-06-24 16:54:09 -05:00
xmon Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-05-02 10:16:16 -07:00
Kconfig locking/mutex: Disable optimistic spinning on some architectures 2014-07-28 08:00:07 -07:00
Kconfig.debug powerpc: Add an in memory udbg console 2013-05-08 06:36:49 +10:00
Makefile powerpc: Fix 64 bit builds with binutils 2.24 2014-06-07 13:25:40 -07:00
relocs_check.pl