diff options
author | dg <dg@FreeBSD.org> | 1994-08-27 16:14:39 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1994-08-27 16:14:39 +0000 |
commit | 4d4250da00e8f202ebcf4523fa25568d04b116ad (patch) | |
tree | b3ca65b5c2af24b8ce278da15822a7fd638bbeb5 /sys/kern | |
parent | c900d4c13e16169b2482efbfb34820b08862bc16 (diff) | |
download | FreeBSD-src-4d4250da00e8f202ebcf4523fa25568d04b116ad.zip FreeBSD-src-4d4250da00e8f202ebcf4523fa25568d04b116ad.tar.gz |
1) Changed ddb into a option rather than a pseudo-device (use options DDB
in your kernel config now).
2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its
own file.
3) Added \r handing in db_printf.
4) Added missing memory usage stats to statclock().
5) Added dummy function to pseudo_set so it will be emitted if there
are no other pseudo declarations.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/init_main.c | 6 | ||||
-rw-r--r-- | sys/kern/kern_clock.c | 25 | ||||
-rw-r--r-- | sys/kern/kern_tc.c | 25 | ||||
-rw-r--r-- | sys/kern/kern_timeout.c | 25 | ||||
-rw-r--r-- | sys/kern/subr_prf.c | 5 | ||||
-rw-r--r-- | sys/kern/subr_trap.c | 11 |
6 files changed, 75 insertions, 22 deletions
diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 4c33667..d504345 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)init_main.c 8.9 (Berkeley) 1/21/94 - * $Id: init_main.c,v 1.5 1994/08/18 22:34:57 wollman Exp $ + * $Id: init_main.c,v 1.6 1994/08/24 11:50:37 sos Exp $ */ #include <sys/param.h> @@ -103,6 +103,10 @@ void __main() {} * This table is filled in by the linker with functions that need to be * called to initialize various pseudo-devices and whatnot. */ + +static void dummyinit() {} +TEXT_SET(pseudo_set, dummyinit); + typedef void (*pseudo_func_t)(void); extern const struct linker_set pseudo_set; static const pseudo_func_t *pseudos = diff --git a/sys/kern/kern_clock.c b/sys/kern/kern_clock.c index 5b365f5..788e279 100644 --- a/sys/kern/kern_clock.c +++ b/sys/kern/kern_clock.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_clock.c 8.5 (Berkeley) 1/21/94 - * $Id: kern_clock.c,v 1.3 1994/08/02 07:41:54 davidg Exp $ + * $Id: kern_clock.c,v 1.4 1994/08/18 22:34:58 wollman Exp $ */ #include <sys/param.h> @@ -46,6 +46,7 @@ #include <sys/kernel.h> #include <sys/proc.h> #include <sys/resourcevar.h> +#include <vm/vm.h> #include <machine/cpu.h> @@ -431,11 +432,28 @@ statclock(frame) #ifdef GPROF register struct gmonparam *g; #endif - register struct proc *p; + register struct proc *p = curproc; register int i; + if (p) { + struct pstats *pstats; + struct rusage *ru; + struct vmspace *vm; + + /* bump the resource usage of integral space use */ + if ((pstats = p->p_stats) && (ru = &pstats->p_ru) && (vm = p->p_vmspace)) { + ru->ru_ixrss += vm->vm_tsize * PAGE_SIZE / 1024; + ru->ru_idrss += vm->vm_dsize * PAGE_SIZE / 1024; + ru->ru_isrss += vm->vm_ssize * PAGE_SIZE / 1024; + if ((vm->vm_pmap.pm_stats.resident_count * PAGE_SIZE / 1024) > + ru->ru_maxrss) { + ru->ru_maxrss = + vm->vm_pmap.pm_stats.resident_count * PAGE_SIZE / 1024; + } + } + } + if (CLKF_USERMODE(frame)) { - p = curproc; if (p->p_flag & P_PROFIL) addupc_intr(p, CLKF_PC(frame), 1); if (--pscnt > 0) @@ -477,7 +495,6 @@ statclock(frame) * so that we know how much of its real time was spent * in ``non-process'' (i.e., interrupt) work. */ - p = curproc; if (CLKF_INTR(frame)) { if (p != NULL) p->p_iticks++; diff --git a/sys/kern/kern_tc.c b/sys/kern/kern_tc.c index 5b365f5..788e279 100644 --- a/sys/kern/kern_tc.c +++ b/sys/kern/kern_tc.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_clock.c 8.5 (Berkeley) 1/21/94 - * $Id: kern_clock.c,v 1.3 1994/08/02 07:41:54 davidg Exp $ + * $Id: kern_clock.c,v 1.4 1994/08/18 22:34:58 wollman Exp $ */ #include <sys/param.h> @@ -46,6 +46,7 @@ #include <sys/kernel.h> #include <sys/proc.h> #include <sys/resourcevar.h> +#include <vm/vm.h> #include <machine/cpu.h> @@ -431,11 +432,28 @@ statclock(frame) #ifdef GPROF register struct gmonparam *g; #endif - register struct proc *p; + register struct proc *p = curproc; register int i; + if (p) { + struct pstats *pstats; + struct rusage *ru; + struct vmspace *vm; + + /* bump the resource usage of integral space use */ + if ((pstats = p->p_stats) && (ru = &pstats->p_ru) && (vm = p->p_vmspace)) { + ru->ru_ixrss += vm->vm_tsize * PAGE_SIZE / 1024; + ru->ru_idrss += vm->vm_dsize * PAGE_SIZE / 1024; + ru->ru_isrss += vm->vm_ssize * PAGE_SIZE / 1024; + if ((vm->vm_pmap.pm_stats.resident_count * PAGE_SIZE / 1024) > + ru->ru_maxrss) { + ru->ru_maxrss = + vm->vm_pmap.pm_stats.resident_count * PAGE_SIZE / 1024; + } + } + } + if (CLKF_USERMODE(frame)) { - p = curproc; if (p->p_flag & P_PROFIL) addupc_intr(p, CLKF_PC(frame), 1); if (--pscnt > 0) @@ -477,7 +495,6 @@ statclock(frame) * so that we know how much of its real time was spent * in ``non-process'' (i.e., interrupt) work. */ - p = curproc; if (CLKF_INTR(frame)) { if (p != NULL) p->p_iticks++; diff --git a/sys/kern/kern_timeout.c b/sys/kern/kern_timeout.c index 5b365f5..788e279 100644 --- a/sys/kern/kern_timeout.c +++ b/sys/kern/kern_timeout.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_clock.c 8.5 (Berkeley) 1/21/94 - * $Id: kern_clock.c,v 1.3 1994/08/02 07:41:54 davidg Exp $ + * $Id: kern_clock.c,v 1.4 1994/08/18 22:34:58 wollman Exp $ */ #include <sys/param.h> @@ -46,6 +46,7 @@ #include <sys/kernel.h> #include <sys/proc.h> #include <sys/resourcevar.h> +#include <vm/vm.h> #include <machine/cpu.h> @@ -431,11 +432,28 @@ statclock(frame) #ifdef GPROF register struct gmonparam *g; #endif - register struct proc *p; + register struct proc *p = curproc; register int i; + if (p) { + struct pstats *pstats; + struct rusage *ru; + struct vmspace *vm; + + /* bump the resource usage of integral space use */ + if ((pstats = p->p_stats) && (ru = &pstats->p_ru) && (vm = p->p_vmspace)) { + ru->ru_ixrss += vm->vm_tsize * PAGE_SIZE / 1024; + ru->ru_idrss += vm->vm_dsize * PAGE_SIZE / 1024; + ru->ru_isrss += vm->vm_ssize * PAGE_SIZE / 1024; + if ((vm->vm_pmap.pm_stats.resident_count * PAGE_SIZE / 1024) > + ru->ru_maxrss) { + ru->ru_maxrss = + vm->vm_pmap.pm_stats.resident_count * PAGE_SIZE / 1024; + } + } + } + if (CLKF_USERMODE(frame)) { - p = curproc; if (p->p_flag & P_PROFIL) addupc_intr(p, CLKF_PC(frame), 1); if (--pscnt > 0) @@ -477,7 +495,6 @@ statclock(frame) * so that we know how much of its real time was spent * in ``non-process'' (i.e., interrupt) work. */ - p = curproc; if (CLKF_INTR(frame)) { if (p != NULL) p->p_iticks++; diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index dc55898..230ac73 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)subr_prf.c 8.3 (Berkeley) 1/21/94 - * $Id: subr_prf.c,v 1.3 1994/08/02 07:42:30 davidg Exp $ + * $Id: subr_prf.c,v 1.4 1994/08/13 14:21:51 davidg Exp $ */ #include <sys/param.h> @@ -122,8 +122,7 @@ panic(fmt, va_alist) if (boothowto & RB_KDB) kdbpanic(); #endif -#include "ddb.h" -#if NDDB > 0 +#ifdef DDB Debugger ("panic"); #endif boot(bootopt); diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c index dc62dc9..e4a9100 100644 --- a/sys/kern/subr_trap.c +++ b/sys/kern/subr_trap.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 - * $Id: trap.c,v 1.29 1994/08/18 22:34:43 wollman Exp $ + * $Id: trap.c,v 1.30 1994/08/24 11:52:21 sos Exp $ */ /* @@ -67,7 +67,6 @@ #include "isa.h" #include "npx.h" -#include "ddb.h" int trap_pfault __P((struct trapframe *, int)); void trap_fatal __P((struct trapframe *)); @@ -225,7 +224,7 @@ trap(frame) #if NISA > 0 case T_NMI: -#if NDDB > 0 +#ifdef DDB /* NMI can be hooked up to a pushbutton for debugging */ printf ("NMI ... going to debugger\n"); if (kdb_trap (type, 0, &frame)) @@ -286,7 +285,7 @@ trap(frame) } break; -#if NDDB > 0 +#ifdef DDB case T_BPTFLT: case T_TRCTRAP: if (kdb_trap (type, 0, &frame)) @@ -301,7 +300,7 @@ trap(frame) #if NISA > 0 case T_NMI: -#if NDDB > 0 +#ifdef DDB /* NMI can be hooked up to a pushbutton for debugging */ printf ("NMI ... going to debugger\n"); if (kdb_trap (type, 0, &frame)) @@ -505,7 +504,7 @@ trap_fatal(frame) if (kdb_trap(&psl)) return; #endif -#if NDDB > 0 +#ifdef DDB if (kdb_trap (type, 0, frame)) return; #endif |