Re: diagnosing unexpected sched_stat_wait

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, thanks for the reply!

I have gone down that route, but I don't get user stack traces at all.
  I suspect this is because I'm on ARM 3.14.52, which does not support
CONFIG_USER_STACKTRACE_SUPPORT.  Nor does it support
CONFIG_ARCH_SUPPORTS_UPROBES.

All that said, I DO get stack traces when using straight perf record
with "--call-graph dwarf".  (Does that imply "-e cpu-clock"?).  So, I
was hoping that whatever is enabling that event to get stack traces
might be available to me.

Jonah


On Fri, Mar 4, 2016 at 5:05 PM, Arnaldo Carvalho de Melo
<acme@xxxxxxxxxx> wrote:
> Em Fri, Mar 04, 2016 at 02:15:25PM -0500, Jonah Petri escreveu:
>> Hello,
>>
>> My application is doing realtime low-latency audio, and we're seeing
>> occasional dropouts, which we've traced (via ftrace) to an unexplained
>> sched_stat_wait event on our audio-handling user thread.
>>
>> We're really not sure what might be causing this, but if I could get
>> the user stack trace causing this event, it would let me see exactly
>> the problem.  Even the top frame of the stack would be invaluable.
>>
>> Is there a way to get this info?  Preferrably with ftrace, but any
>> methods or hints would be much appreciated.
>
> [root@jouet ~]# perf list *:sched_stat_wait
>
> List of pre-defined events (to be used in -e):
>
>   sched:sched_stat_wait                              [Tracepoint event]
>
> [root@jouet ~]# perf record -a --call-graph dwarf -e sched:*stat_wait
> ^C[ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 4.157 MB perf.data (763 samples) ]
>
> [root@jouet ~]#
> [root@jouet ~]# perf report --stdio | head -53
> Failed to open /tmp/perf-7459.map, continuing without symbols
> no symbols found in /usr/sbin/rngd, maybe install a debug package?
> # To display the perf.data header info, please use --header/--header-only options.
> #
> #
> # Total Lost Samples: 0
> #
> # Samples: 763  of event 'sched:sched_stat_wait'
> # Event count (approx.): 2027097
> #
> # Children      Self  Trace output
> # ........  ........  ...............................................
> #
>      8.94%     8.94%  comm=Xorg pid=2730 delay=181323 [ns]
>             |
>             ---entry_SYSCALL_64_fastpath
>                sys_poll
>                do_sys_poll
>                poll_schedule_timeout
>                schedule_hrtimeout_range
>                schedule_hrtimeout_range_clock
>                schedule
>                __schedule
>                pick_next_task_fair
>                set_next_entity
>                update_stats_wait_end
>                0x563bfb142909
>                __libc_start_main
>                main
>                meta_run
>                g_main_loop_run
>                g_main_context_iterate.isra.29
>                0x7fb1060a9fdd
>
>      4.73%     4.73%  comm=gnome-terminal- pid=3412 delay=95977 [ns]
>             |
>             ---entry_SYSCALL_64_fastpath
>                sys_poll
>                do_sys_poll
>                poll_schedule_timeout
>                schedule_hrtimeout_range
>                schedule_hrtimeout_range_clock
>                schedule
>                __schedule
>                pick_next_task_fair
>                set_next_entity
>                update_stats_wait_end
>                _start
>                __libc_start_main
>                main
>                g_application_run
>                g_main_context_iteration
>                g_main_context_iterate.isra.29
>                0x7fd2cbd9bfdd
>
> [root@jouet ~]#
>
> Replace 'record -a' with 'record --pid YOUR-PID' or workload, etc, see:
>
> man perf-record
>
> If you get some unresolved symbols, install 'gcc -g' built binaries or
> -debuginfo packages or equivalent in !fedora/RHEL distros.
>
> - Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux