Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/ddb Add a "show kqueue <addr>" command.
details: https://anonhg.NetBSD.org/src/rev/a473bf2904c4
branches: trunk
changeset: 1024119:a473bf2904c4
user: thorpej <thorpej%NetBSD.org@localhost>
date: Sun Oct 10 18:08:12 2021 +0000
description:
Add a "show kqueue <addr>" command.
diffstat:
sys/ddb/db_command.c | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 insertions(+), 2 deletions(-)
diffs (72 lines):
diff -r dd999b0bf5a3 -r a473bf2904c4 sys/ddb/db_command.c
--- a/sys/ddb/db_command.c Sun Oct 10 18:07:51 2021 +0000
+++ b/sys/ddb/db_command.c Sun Oct 10 18:08:12 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: db_command.c,v 1.178 2021/08/21 23:00:31 andvar Exp $ */
+/* $NetBSD: db_command.c,v 1.179 2021/10/10 18:08:12 thorpej Exp $ */
/*
* Copyright (c) 1996, 1997, 1998, 1999, 2002, 2009, 2019
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_command.c,v 1.178 2021/08/21 23:00:31 andvar Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_command.c,v 1.179 2021/10/10 18:08:12 thorpej Exp $");
#ifdef _KERNEL_OPT
#include "opt_aio.h"
@@ -79,6 +79,7 @@
#include <sys/systm.h>
#include <sys/reboot.h>
#include <sys/device.h>
+#include <sys/eventvar.h>
#include <sys/lwp.h>
#include <sys/mbuf.h>
#include <sys/namei.h>
@@ -204,6 +205,7 @@
static void db_mount_print_cmd(db_expr_t, bool, db_expr_t, const char *);
static void db_show_all_mount(db_expr_t, bool, db_expr_t, const char *);
static void db_mbuf_print_cmd(db_expr_t, bool, db_expr_t, const char *);
+static void db_kqueue_print_cmd(db_expr_t, bool, db_expr_t, const char *);
static void db_map_print_cmd(db_expr_t, bool, db_expr_t, const char *);
static void db_namecache_print_cmd(db_expr_t, bool, db_expr_t,
const char *);
@@ -269,6 +271,8 @@
{ DDB_ADD_CMD("lockstats",
db_show_lockstats, 0,
"Print statistics of locks", NULL, NULL) },
+ { DDB_ADD_CMD("kqueue", db_kqueue_print_cmd, 0,
+ "Print the kqueue at address.", "[/f] address",NULL) },
{ DDB_ADD_CMD("map", db_map_print_cmd, 0,
"Print the vm_map at address.", "[/f] address",NULL) },
{ DDB_ADD_CMD("mbuf", db_mbuf_print_cmd, 0,NULL,NULL,
@@ -1014,6 +1018,28 @@
/*ARGSUSED*/
static void
+db_kqueue_print_cmd(db_expr_t addr, bool have_addr, db_expr_t count,
+ const char *modif)
+{
+#ifdef _KERNEL
+ bool full = false;
+
+ if (modif[0] == 'f')
+ full = true;
+
+ if (have_addr == false) {
+ db_printf("%s: must specify kqueue address\n", __func__);
+ return;
+ }
+
+ kqueue_printit((struct kqueue *)(uintptr_t) addr, full, db_printf);
+#else
+ db_kernelonly();
+#endif /* XXX CRASH(8) */
+}
+
+/*ARGSUSED*/
+static void
db_map_print_cmd(db_expr_t addr, bool have_addr, db_expr_t count,
const char *modif)
{
Home |
Main Index |
Thread Index |
Old Index