Index: sbin/dmesg/dmesg.8 =================================================================== --- sbin/dmesg/dmesg.8 +++ sbin/dmesg/dmesg.8 @@ -78,7 +78,10 @@ The default value is shown next to each variable. .Bl -tag -width indent .It kern.msgbuf_show_timestamp : No 0 -If set to 1, then a timestamp will be added to most lines in the message buffer. +If set to 0, no timetamps are added. +If set to 1, then a 1-second granularity timestamp will be added to most lines +in the message buffer. +If set to 2, then a microsecond granularity timestamp will be added. This may also be set as a boot .Xr loader 8 tunable. Index: sys/kern/subr_msgbuf.c =================================================================== --- sys/kern/subr_msgbuf.c +++ sys/kern/subr_msgbuf.c @@ -234,8 +234,16 @@ if (msgbuf_show_timestamp && needtime == 1 && (mbp->msg_flags & MSGBUF_NEEDNL) == 0) { - snprintf(buf, sizeof(buf), "[%jd] ", - (intmax_t)time_uptime); + if (msgbuf_show_timestamp == 1) { + snprintf(buf, sizeof(buf), "[%jd] ", + (intmax_t)time_uptime); + } else { + struct timeval tv; + + microuptime(&tv); + snprintf(buf, sizeof(buf), "[%jd.%06d] ", + (intmax_t)tv.tv_sec, (int)tv.tv_usec); + } for (j = 0; buf[j] != '\0'; j++) msgbuf_do_addchar(mbp, buf[j]); needtime = 0;