Re: pmcstat -z32 -G truncates callgraph to 8

2014-11-20 Thread Ed Maste
On 31 October 2014 01:26, Brendan Gregg  wrote:
>
> Yes. When I'm using profiling data, I like full stacks for making
> flame graphs. For the FreeBSD kernel, 32 frames should usually be
> enough (I have a flame graph that reaches 24 frames for the kernel,
> but no more). For user-level, I'd probably need ~100. So making the
> compiled-in default to 32 would hopefully be sufficient for most
> kernel profiling, and one would need to bump that up for deep
> user-level stacks. I guess this would also need
> PMC_CALLCHAIN_DEPTH_MAX = 128 to work.

I have a review up to bump the default to 32 and the maximum to 128:
https://reviews.freebsd.org/D1203
___
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscr...@freebsd.org"


Re: pmcstat -z32 -G truncates callgraph to 8

2014-10-30 Thread Brendan Gregg
G'Day Ed,

On Wed, Oct 29, 2014 at 12:40 PM, Ed Maste  wrote:
> On 28 October 2014 13:38, Brendan Gregg  wrote:
>> Ah, thanks, I'm on 10.0-STABLE and I have:
>>
>> kern.hwpmc.callchaindepth: 8
>>
>> Glad it's something simple!
>
> Those are the best kinds of problems to have, although we ought to
> make sure this point is covered in the FreeBSD profiling documentation
> that we have or create.

Yes; at least we have this thread now, which should be searchable.

>
> Also, do you think that we should bump the compiled-in default up to 32?

Yes. When I'm using profiling data, I like full stacks for making
flame graphs. For the FreeBSD kernel, 32 frames should usually be
enough (I have a flame graph that reaches 24 frames for the kernel,
but no more). For user-level, I'd probably need ~100. So making the
compiled-in default to 32 would hopefully be sufficient for most
kernel profiling, and one would need to bump that up for deep
user-level stacks. I guess this would also need
PMC_CALLCHAIN_DEPTH_MAX = 128 to work.

Brendan
___
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscr...@freebsd.org"


Re: pmcstat -z32 -G truncates callgraph to 8

2014-10-29 Thread Ed Maste
On 28 October 2014 13:38, Brendan Gregg  wrote:
> Ah, thanks, I'm on 10.0-STABLE and I have:
>
> kern.hwpmc.callchaindepth: 8
>
> Glad it's something simple!

Those are the best kinds of problems to have, although we ought to
make sure this point is covered in the FreeBSD profiling documentation
that we have or create.

Also, do you think that we should bump the compiled-in default up to 32?
___
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscr...@freebsd.org"


Re: pmcstat -z32 -G truncates callgraph to 8

2014-10-28 Thread Brendan Gregg
G'Day Stefan,

On Tue, Oct 28, 2014 at 2:45 AM, Stefan Parvu
 wrote:
>
>> I'm using pmcstat to capture call graphs, however, these always seem
>> truncated to 8 stack frames. Anyone else hit this? Anyone know a fix
>> or workaround?
>
> On FreeBSD 11.0-CURRENT Im seeing these:
>
> kern.features.hwpmc_hooks: 1
> kern.hwpmc.softevents: 16
> kern.hwpmc.callchaindepth: 16
> kern.hwpmc.hashsize: 1024
> kern.hwpmc.nsamples: 1024
> kern.hwpmc.mtxpoolsize: 2048
> kern.hwpmc.logbuffersize: 4
> kern.hwpmc.nbuffers: 1024

Ah, thanks, I'm on 10.0-STABLE and I have:

kern.hwpmc.callchaindepth: 8

Glad it's something simple!

Brendan
___
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscr...@freebsd.org"


Re: pmcstat -z32 -G truncates callgraph to 8

2014-10-28 Thread Stefan Parvu
 
> I'm using pmcstat to capture call graphs, however, these always seem
> truncated to 8 stack frames. Anyone else hit this? Anyone know a fix
> or workaround?

On FreeBSD 11.0-CURRENT Im seeing these:

kern.features.hwpmc_hooks: 1
kern.hwpmc.softevents: 16
kern.hwpmc.callchaindepth: 16
kern.hwpmc.hashsize: 1024
kern.hwpmc.nsamples: 1024
kern.hwpmc.mtxpoolsize: 2048
kern.hwpmc.logbuffersize: 4
kern.hwpmc.nbuffers: 1024

and for example a trace ...

00.53%  [48]   strcmp @ /lib/libc.so.7
 56.25%  [27]0x1c4e43 @ /usr/local/lib/libgtk-x11-2.0.so.0.2400.22
  100.0%  [27] g_object_get_valist @ 
/usr/local/lib/libgobject-2.0.so.0.3600.3
   100.0%  [27]  g_object_get
70.37%  [19]   _gtk_tooltip_handle_event @ 
/usr/local/lib/libgtk-x11-2.0.so.0.2400.22
 100.0%  [19]gtk_main_do_event
  100.0%  [19] 0x662e1 @ 
/usr/local/lib/libgdk-x11-2.0.so.0.2400.22
   100.0%  [19]  g_main_context_dispatch @ 
/usr/local/lib/libglib-2.0.so.0.3600.3
100.0%  [19]   0x554e3
 78.95%  [15]g_main_loop_run
  100.0%  [15] gtk_main @ 
/usr/local/lib/libgtk-x11-2.0.so.0.2400.22
 21.05%  [4] g_main_context_iteration @ 
/usr/local/lib/libglib-2.0.so.0.3600.3
  100.0%  [4]  gtk_main_iteration @ 
/usr/local/lib/libgtk-x11-2.0.so.0.2400.22
   100.0%  [4]   0x2ea45 @ 
/usr/local/lib/libsylph-0.so.1.2.0
100.0%  [4]0x34786
 100.0%  [4] 0x33208
29.63%  [8]0x2371d8 @ /usr/local/lib/libgtk-x11-2.0.so.0.2400.22
 100.0%  [8] _gtk_tooltip_handle_event
  100.0%  [8]  gtk_main_do_event
   100.0%  [8]   0x662e1 @ 
/usr/local/lib/libgdk-x11-2.0.so.0.2400.22
100.0%  [8]g_main_context_dispatch @ 
/usr/local/lib/libglib-2.0.so.0.3600.3
 100.0%  [8] 0x554e3
  87.50%  [7]  g_main_loop_run
   100.0%  [7]   gtk_main @ 
/usr/local/lib/libgtk-x11-2.0.so.0.2400.22
  12.50%  [1]  g_main_context_iteration @ 
/usr/local/lib/libglib-2.0.so.0.3600.3
   100.0%  [1]   gtk_main_iteration @ 
/usr/local/lib/libgtk-x11-2.0.so.0.2400.22
100.0%  [1]0x2ea45 @ 
/usr/local/lib/libsylph-0.so.1.2.0
 100.0%  [1] 0x34786
  100.0%  [1]  0x33208
 18.75%  [9] g_hash_table_lookup @ 
/usr/local/lib/libglib-2.0.so.0.3600.3
  55.56%  [5]  0x1d89b @ /usr/local/lib/libgobject-2.0.so.0.3600.3
   100.0%  [5]   g_param_spec_pool_lookup
40.00%  [2]g_object_get_valist
 100.0%  [2] g_object_get
  50.00%  [1]  0x23692f @ 
/usr/local/lib/libgtk-x11-2.0.so.0.2400.22
   100.0%  [1]   _gtk_tooltip_handle_event
100.0%  [1]gtk_main_do_event
 100.0%  [1] 0x662e1 @ 
/usr/local/lib/libgdk-x11-2.0.so.0.2400.22
  100.0%  [1]  g_main_context_dispatch @ 
/usr/local/lib/libglib-2.0.so.0.3600.3
   100.0%  [1]   0x554e3
:
00.54%  [49]   acpi_cpu_c1 @ /boot/kernel/kernel
 100.0%  [49]acpi_cpu_idle
  100.0%  [49] cpu_idle_acpi
   100.0%  [49]  cpu_idle
100.0%  [49]   sched_idletd
 100.0%  [49]fork_exit

00.53%  [48]   strcmp @ /lib/libc.so.7
 56.25%  [27]0x1c4e43 @ /usr/local/lib/libgtk-x11-2.0.so.0.2400.22
  100.0%  [27] g_object_get_valist @ 
/usr/local/lib/libgobject-2.0.so.0.3600.3
   100.0%  [27]  g_object_get
70.37%  [19]   _gtk_tooltip_handle_event @ 
/usr/local/lib/libgtk-x11-2.0.so.0.2400.22
 100.0%  [19]gtk_main_do_event
  100.0%  [19] 0x662e1 @ 
/usr/local/lib/libgdk-x11-2.0.so.0.2400.22
   100.0%  [19]  g_main_context_dispatch @ 
/usr/local/lib/libglib-2.0.so.0.3600.3
100.0%  [19]   0x554e3
 78.95%  [15]g_main_loop_run
  100.0%  [15] gtk_main @ 
/usr/local/lib/libgtk-x11-2.0.so.0.2400.22
 21.05%  [4] g_main_context_iteration @ 
/usr/local/lib/libglib-2.0.so.0.3600.3
  100.0%  [4]  gtk_main_iteration @ 
/usr/local/lib/libgtk-x11-2.0.so.0.2400.22
   100.0%  [4]   0x2ea45 @ 
/usr/local/lib/libsylph-0.so.1.2.0
100.0%  [4]0x34786
 100.0%  [4] 0x33208
29.63%  [8]0x2371d8 @ /usr/local/lib/libgtk-x11-2.0.so.0.2400.22
 100.0%  [8] _gtk_tooltip_handle_event
  100.0%  [8]  gtk_main_do_event
   100.0%  [8]   0x662e1 @ 
/usr/local/lib/libgdk-x11-2.0.s