Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys
On Sun, Feb 21, 2010 at 02:11:40AM +0000, Darran Hunt wrote:
> Module Name: src
> Committed By: darran
> Date: Sun Feb 21 02:11:40 UTC 2010
>
> Modified Files:
> src/sys/arch/i386/i386: trap.c vector.S
> src/sys/kern: kern_lwp.c kern_proc.c kern_synch.c
> src/sys/sys: lwp.h proc.h
> Added Files:
> src/sys/sys: dtrace_bsd.h
>
> Log Message:
> Add the DTrace hooks to the kernel (KDTRACE_HOOKS config option).
> DTrace adds a pointer to the lwp and proc structures which it uses to
> manage its state. These are opaque from the kernel perspective to keep
> the kernel free of CDDL code. The state arenas are kmem_alloced and freed
> as proccesses and threads are created and destoyed.
>
> Also add a check for trap06 (privileged/illegal instruction) so that
> DTrace can check for D scripts that may have triggered the trap so it
> can clean up after them and resume normal operation.
>
> Ok with core@.
Wow, dtrace in the kernel! This is exciting, thanks!
#ifdef makes kernel code hard to read. Will you help arrest the
accretion of conditional compilation in kern_synch.c by consolidating
the conditional compilation in a static subroutine, for example:
static void
dtrace_vtime_switch(lwp_t *newl)
{
#ifdef KDTRACE_HOOKS
/*
* If DTrace has set the active vtime enum to anything
* other than INACTIVE (0), then it should have set the
* function to call.
*/
if (dtrace_vtime_active) {
(*dtrace_vtime_switch_func)(newl);
}
#endif
}
Dave
--
David Young OJC Technologies
dyoung%ojctech.com@localhost Urbana, IL * (217) 278-3933
Home |
Main Index |
Thread Index |
Old Index