Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Feb 2021 08:36:55 GMT
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: a7158b84dfaa - stable/12 - Add ddb 'show timecounter' command.
Message-ID:  <202102090836.1198athi013942@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/12 has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=a7158b84dfaa3adadb939e12b6760de73ad0d003

commit a7158b84dfaa3adadb939e12b6760de73ad0d003
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2021-01-18 07:25:36 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2021-02-09 08:36:08 +0000

    Add ddb 'show timecounter' command.
    
    (cherry picked from commit 36bcc44e2c578dd016940c9c5068c348e1d77f99)
---
 sys/kern/kern_tc.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/sys/kern/kern_tc.c b/sys/kern/kern_tc.c
index 745c5e2fc485..f916cbc75ac8 100644
--- a/sys/kern/kern_tc.c
+++ b/sys/kern/kern_tc.c
@@ -2165,3 +2165,33 @@ tc_fill_vdso_timehands32(struct vdso_timehands32 *vdso_th32)
 	return (enabled);
 }
 #endif
+
+#include "opt_ddb.h"
+#ifdef DDB
+#include <ddb/ddb.h>
+
+DB_SHOW_COMMAND(timecounter, db_show_timecounter)
+{
+	struct timehands *th;
+	struct timecounter *tc;
+	u_int val1, val2;
+
+	th = timehands;
+	tc = th->th_counter;
+	val1 = tc->tc_get_timecount(tc);
+	__compiler_membar();
+	val2 = tc->tc_get_timecount(tc);
+
+	db_printf("timecounter %p %s\n", tc, tc->tc_name);
+	db_printf("  mask %#x freq %ju qual %d flags %#x priv %p\n",
+	    tc->tc_counter_mask, (uintmax_t)tc->tc_frequency, tc->tc_quality,
+	    tc->tc_flags, tc->tc_priv);
+	db_printf("  val %#x %#x\n", val1, val2);
+	db_printf("timehands adj %#jx scale %#jx ldelta %d off_cnt %d gen %d\n",
+	    (uintmax_t)th->th_adjustment, (uintmax_t)th->th_scale,
+	    th->th_large_delta, th->th_offset_count, th->th_generation);
+	db_printf("  offset %jd %jd boottime %jd %jd\n",
+	    (intmax_t)th->th_offset.sec, (uintmax_t)th->th_offset.frac,
+	    (intmax_t)th->th_boottime.sec, (uintmax_t)th->th_boottime.frac);
+}
+#endif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102090836.1198athi013942>