Date: Mon, 14 Feb 2005 00:28:47 -0800 From: "Ashwin Chandra" <ashcs@ucla.edu> To: <freebsd-hackers@freebsd.org> Subject: Kernel Monitor? Message-ID: <000c01c5126f$354f81c0$58e243a4@ash>
next in thread | raw e-mail | index | archive | help
Hi everyone, Im having issues with the following code running as a kernel thread. = when i do the prinft (which i traced with kgdb) it crashes...but those = two variables that i print out, are fine if i do comparisons or store = them into variables...only printing them causes a panic. anyone have any = ideas in what im doing wrong? static void kernmon(void); static void kernmon_thread(void); static void kern_print(void); static struct kproc_desc kernmon_kp =3D { "kernmon", kernmon_thread, NULL }; SYSINIT(kernmon, SI_SUB_KERN_MON, SI_ORDER_FIRST, kproc_start, = &kernmon_kp) static void kernmon(void) { kern_print(); } static void kernmon_thread(void) { int nowake =3D 0; for (;;) { kernmon(); tsleep(&nowake, curthread->td_priority, "-", 7*hz); } } static void kern_print(void) { struct proc *p; FOREACH_PROC_IN_SYSTEM(p) { mtx_lock(&Giant); PROC_LOCK(p); printf("%d %d\n", (int)p->p_stats->p_ru.ru_isrss, = (int)p->p_stats->p_ru.ru_idrss); PROC_UNLOCK(p); mtx_unlock(&Giant); } }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000c01c5126f$354f81c0$58e243a4>