diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index 66a8bbc65577..089023bbc531 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -90,6 +90,7 @@ main(int argc, char *argv[]) int ch, ktrlen, size; void *m; int trpoints = ALL_POINTS; + int drop_logged; (void) setlocale(LC_CTYPE, ""); @@ -133,7 +134,17 @@ main(int argc, char *argv[]) errx(1, "%s", strerror(ENOMEM)); if (!freopen(tracefile, "r", stdin)) err(1, "%s", tracefile); + drop_logged = 0; while (fread_tail(&ktr_header, sizeof(struct ktr_header), 1)) { + if (ktr_header.ktr_type & KTR_DROP) { + ktr_header.ktr_type &= ~KTR_DROP; + if (!drop_logged) { + (void)printf("%6d %-8.*s Events dropped.\n", + ktr_header.ktr_pid, MAXCOMLEN, + ktr_header.ktr_comm); + drop_logged = 1; + } + } if (trpoints & (1<