diff options
author | Sverker Eriksson <[email protected]> | 2018-02-20 20:45:52 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-02-20 20:45:52 +0100 |
commit | 083973ccb86d1cf826821832285f1443200f6668 (patch) | |
tree | 85c3d96b3cf18900d463ee6afea9f3385c04b8aa /erts/emulator/beam/break.c | |
parent | 4202ce4ef468b33225cab0dfd0ce89b5466654de (diff) | |
download | otp-083973ccb86d1cf826821832285f1443200f6668.tar.gz otp-083973ccb86d1cf826821832285f1443200f6668.tar.bz2 otp-083973ccb86d1cf826821832285f1443200f6668.zip |
erts,observer: Add dirty schedulers to crash dump
Diffstat (limited to 'erts/emulator/beam/break.c')
-rw-r--r-- | erts/emulator/beam/break.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/erts/emulator/beam/break.c b/erts/emulator/beam/break.c index 127c14e21b..5ace997344 100644 --- a/erts/emulator/beam/break.c +++ b/erts/emulator/beam/break.c @@ -911,6 +911,23 @@ erl_crash_dump_v(char *file, int line, char* fmt, va_list args) erts_print_scheduler_info(to, to_arg, ERTS_SCHEDULER_IX(i)), erts_cbprintf(to, to_arg, "** crashed **\n")); } +#ifdef ERTS_DIRTY_SCHEDULERS + for (i = 0; i < erts_no_dirty_cpu_schedulers; i++) { + ERTS_SYS_TRY_CATCH( + erts_print_scheduler_info(to, to_arg, ERTS_DIRTY_CPU_SCHEDULER_IX(i)), + erts_cbprintf(to, to_arg, "** crashed **\n")); + } + erts_cbprintf(to, to_arg, "=dirty_cpu_run_queue\n"); + erts_print_run_queue_info(to, to_arg, ERTS_DIRTY_CPU_RUNQ); + + for (i = 0; i < erts_no_dirty_io_schedulers; i++) { + ERTS_SYS_TRY_CATCH( + erts_print_scheduler_info(to, to_arg, ERTS_DIRTY_IO_SCHEDULER_IX(i)), + erts_cbprintf(to, to_arg, "** crashed **\n")); + } + erts_cbprintf(to, to_arg, "=dirty_io_run_queue\n"); + erts_print_run_queue_info(to, to_arg, ERTS_DIRTY_IO_RUNQ); +#endif /* ERTS_DIRTY_SCHEDULERS */ #endif #ifdef ERTS_SMP |