[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] performance regression for v1.3 on aarch64
From: |
Dave Watson |
Subject: |
Re: [Libunwind-devel] performance regression for v1.3 on aarch64 |
Date: |
Tue, 13 Feb 2018 11:09:07 -0800 |
User-agent: |
Mutt/1.6.0 (2016-04-01) |
On 02/13/18 04:15 AM, yangyongyong wrote:
> Hi all,
> Recently I upgrade libunwind from 1.2 to 1.3 (until commit
> 26718da1713a5698070e702e68db1f995baeae07) mostly because commit
> 5a491cb2d889f03952182d611d2ac6e15c3c5845:
> "arm64: Support for restore of ARM64 Neon callee-saved registers during
> unwind"
>
> v1.3 works well except the performance regression of unw_get_proc_info.
> I sampled the time consumed by unw_get_proc_info with
> clock_gettime(CLOCK_MONOTONIC, ...)
> Here is the results (Tests are performed on aarch64/linux with gcc 5.4, us
> means microsecond):
> v1.3:
>
> It seems v1.3 costs 10 times more. And things are getting even worse on qemu.
> I do not have any clue for this problem, please some one enlights me.
This was just discussed on the list, maybe the same issue:
http://lists.nongnu.org/archive/html/libunwind-devel/2018-01/msg00001.html
Wasn't fully resolved though, there is still an open task
https://github.com/libunwind/libunwind/issues/63
>
> By the way, v1.3 can not be built on Android NDK r16b
> (https://urldefense.proofpoint.com/v2/url?u=https-3A__dl.google.com_android_repository_android-2Dndk-2Dr16b-2Dlinux-2Dx86-5F64.zip&d=DwIFAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vou6lT5jmE_fWQWZZgNrsMWu4RT87QAB9V07tPHlP5U&m=0XbMT1rFlolANBmO2Mtg-ayptQyu48agi9TKFupfZlg&s=f84LSoJQf3Q12nfD5H-8M2WWFiFRAuBh-26JrLEHFwM&e=
> ) with configure : "configure --host=aarch64-linux-android
> --prefix=xxx_install_yyy --enable-debug". Following are some potential
> problems:
>
> 1. test-coredump-unwind includes execinfo.h which does not exist on
> android.
>
> 2. HAVE_STRUCT_ELF_PRSTATUS is not defined during configuration.
>
> 3. struct elf_prstatus is defined in linux/elfcore.h which is not
> included.
I would love to merge a patch if you have one to fix these issues. I
do not have an android setup.