On Fri, Feb 15, 2013 at 10:05 AM, Nicolas Frisby
<nicolas.fri...@gmail.com>wrote:

> I'm way below my depth here, but I'd like to use the perf tool to see
> where a program is spending its time.
>
> Unfortunately, the recipe here
>
> http://hackage.haskell.org/trac/ghc/wiki/Debugging/LowLevelProfiling/Perf
>
> isn't working for me. I get output like this instead
>
> 90.20%  drbg_test  drbg_test          [.] 0x2515ef
>   5.71%  drbg_test  [kernel.kallsyms]  [k] 0xffffffff8103e0ca
>   1.53%  drbg_test  libc-2.15.so       [.] bsearch
>   1.02%  drbg_test  libc-2.15.so       [.] 0x9194c
>   0.43%  drbg_test  libgmp.so.10.0.2   [.] __gmpz_mul_2exp
>   0.27%  drbg_test  libgmp.so.10.0.2   [.] __gmpz_add
>   0.16%  drbg_test  [vdso]             [.] 0x7fffd3d25983
>   0.16%  drbg_test  libgmp.so.10.0.2   [.] __gmpn_lshift
>   0.10%  drbg_test  libgmp.so.10.0.2   [.] 0x13565
>   0.05%  drbg_test  libgmp.so.10.0.2   [.] __gmpz_init
>   0.05%  drbg_test  libc-2.15.so       [.] __select
>   0.05%  drbg_test  libgmp.so.10.0.2   [.] __gmpn_modexact_1_odd
>   0.05%  drbg_test  libgmp.so.10.0.2   [.] __gmpz_realloc
>   0.05%  drbg_test  libc-2.15.so       [.] __errno_location
>   0.05%  drbg_test  drbg_test          [.] __gmpz_init@plt
>   0.05%  drbg_test  librt-2.15.so      [.] clock_gettime
>   0.05%  drbg_test  libgmp.so.10.0.2   [.] __gmpn_add_n
>
> Again --- below my depth here --- but I don't know how to investigate what
> 0x2515ef indicates. Does anyone have any pointers?
>
> I was hoping that the address would be a nice RTS-ish symbol, like in the
> Wiki's examples.
>

I thought I fixed this issue (at least in the native backend). What was
missing before was .size assembler directives that would let tools like
perf know where a function started and ended. See this commit
https://github.com/ghc/ghc/commit/32f24ddfd9549010dd345733c6f46f67196cacf6

Perhaps it broke at some point? Are you using the x86 backend?
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to