freebsd-dev/sys/kern
Jake Burkholder 60a57b73ef ktr changes to improve performance and make writing a userland utility to
dump the trace buffer feasible.
- Remove KTR_EXTEND.  This changes the format of the trace entries when
  activated, making writing a userland tool which is not tied to a specific
  kernel configuration difficult.
- Use get_cyclecount() for timestamps.  nanotime() is much too heavy weight
  and requires recursion protection due to ktr traces occuring as a result
  of ktr traces.  KTR_VERBOSE may still require recursion protection, which
  is now conditional on it.
- Allow KTR_CPU to be overridden by MD code.  This is so that it is possible
  to trace early in startup before pcpu and/or curthread are setup.
- Add a version number for the ktr interface.  A userland tool can check this
  to detect mismatches.
- Use an array for the parameters to make decoding in userland easier.
- Add file and line recording to the non-extended traces now that the extended
  version is no more.

These changes will break gdb macros to decode the extended version of the
trace buffer which are floating around.  Users of these macros should either
use the show ktr command in ddb, or use the userland utility which can be run
on a core dump.

Approved by:	jhb
Tested on:	i386, sparc64
2002-04-01 05:35:26 +00:00
..
bus_if.m "Fixed" -Wshadow warnings by changing the name of some function parameters 2002-03-27 04:04:17 +00:00
device_if.m
genassym.sh Allow one to specify the AWK used in the environment(commandline). 2002-02-11 03:54:30 +00:00
imgact_aout.c Remove __P. 2002-03-19 21:25:46 +00:00
imgact_elf.c Remove __P. 2002-03-19 21:25:46 +00:00
imgact_gzip.c Modernize my email address. 2002-03-25 13:52:45 +00:00
imgact_shell.c Return a more meaningful errno when the length of the interpreter 2001-11-28 03:26:58 +00:00
inflate.c Modernize my email address. 2002-03-25 13:52:45 +00:00
init_main.c The description of fd_mtx is "filedesc structure." 2002-03-29 11:26:05 +00:00
init_sysent.c Part II: update various mechanically generated files to allow for new 2002-03-05 16:13:01 +00:00
kern_acct.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_acl.c Fix a gcc-3.1+ warning. 2002-03-19 11:02:06 +00:00
kern_cap.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_clock.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_condvar.c Nuke CV_DEBUG in favour of INVARIANTS. 2002-03-30 03:52:52 +00:00
kern_conf.c Make the proposed name arg to dev_stdclone() const. 2002-03-10 10:50:05 +00:00
kern_descrip.c The description of fd_mtx is "filedesc structure." 2002-03-29 11:26:05 +00:00
kern_environment.c Fix an inverted test csae. Success of getenv() is determined by a return 2001-10-25 17:22:31 +00:00
kern_event.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:09:59 +00:00
kern_exec.c Add a local proc *p in exec_new_vmspace() to avoid repeated dereferencing 2002-03-31 00:05:30 +00:00
kern_exit.c Close some holes with p->p_args by NULL'ing out the p->p_args pointer 2002-03-31 10:33:12 +00:00
kern_fork.c Make the reference counting of 'struct pargs' SMP safe. 2002-03-27 21:36:18 +00:00
kern_idle.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
kern_intr.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_jail.c Make getcredhostname() take a buffer and the buffer's size 2002-02-27 16:43:20 +00:00
kern_kthread.c Fix a couple of style bugs introduced (or touched by) previous commit. 2002-02-07 23:06:26 +00:00
kern_ktr.c ktr changes to improve performance and make writing a userland utility to 2002-04-01 05:35:26 +00:00
kern_ktrace.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_linker.c - Recommit the securelevel_gt() calls removed by commits rev. 1.84 of 2002-03-25 18:26:34 +00:00
kern_lock.c Change wmesg to const char * instead of char * 2002-03-05 17:45:12 +00:00
kern_lockf.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_malloc.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_mib.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
kern_module.c - Lock down the ``module'' structure by adding an SX lock that is used by 2002-03-18 07:45:30 +00:00
kern_mtxpool.c Rename SI_SUB_MUTEX to SI_SUB_MTX_POOL to make the name at all accurate. 2002-03-13 23:48:08 +00:00
kern_mutex.c Add a new mtx_init option "MTX_DUPOK" which allows duplicate acquires of locks 2002-03-27 09:23:41 +00:00
kern_ntptime.c Revise timercounters to use binary fixed point format internally. 2002-02-07 21:21:55 +00:00
kern_physio.c
kern_poll.c Make the DEVICE_POLLING code compile with -Werror and in LINT 2002-03-09 08:02:52 +00:00
kern_proc.c Close some holes with p->p_args by NULL'ing out the p->p_args pointer 2002-03-31 10:33:12 +00:00
kern_prot.c Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
kern_random.c Load the current timecounter into tc. The timecounter global can change 2002-02-18 19:49:30 +00:00
kern_resource.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_sema.c Repeat after me -- "Use of ANSI string concatenation can be bad." 2001-12-10 05:40:12 +00:00
kern_shutdown.c Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
kern_sig.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
kern_subr.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
kern_switch.c Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
kern_sx.c Invert the test of sx_xholder for SX_LOCKED. We need to warn if a 2002-01-18 09:21:15 +00:00
kern_synch.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_syscalls.c - Lock down the ``module'' structure by adding an SX lock that is used by 2002-03-18 07:45:30 +00:00
kern_sysctl.c In sysctl, req->td is believed always to be non-NULL, so there's no need 2002-03-22 14:58:27 +00:00
kern_tc.c Get the magnitude of the NTP adjustment right. 2002-03-28 16:02:44 +00:00
kern_time.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_timeout.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ksched.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
link_aout.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
link_elf_obj.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
link_elf.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
linker_if.m Add the sysctl "kern.function_list", which currently exports all 2001-10-30 15:21:45 +00:00
Make.tags.inc Don't hardcode /sys when making tags, instead use ${.CURDIR}/.. this 2002-02-27 10:07:15 +00:00
Makefile Don't generate <sys/syscalls-hide.h> it has never had any users anywhere in 2001-10-13 09:17:49 +00:00
makeobjops.pl Switch warnings and strict back on again in a way that's compatible 2001-11-16 02:02:42 +00:00
makesyscalls.sh don't generate files with __P. 2002-03-19 20:48:32 +00:00
md4c.c Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
md5c.c
p1003_1b.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
posix4_mib.c
subr_acl_posix1e.c Fix a gcc-3.1+ warning. 2002-03-19 11:02:06 +00:00
subr_autoconf.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_blist.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
subr_bus.c Add resource_list_add_next() which returns the RID for the resource added. 2002-03-29 06:42:54 +00:00
subr_clist.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_devstat.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
subr_disk.c Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
subr_disklabel.c Fixed handling of short reads in readdisklabel() and writedisklabel(). 2002-03-30 16:02:43 +00:00
subr_diskmbr.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_diskslice.c Implement the two "GEOM" ioctls DIOCGSECTORSIZE and DIOCGMEDIASIZE for 2002-03-31 21:17:12 +00:00
subr_eventhandler.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_hints.c Fix a fatal type mismatch (char *static_env; vs char static_env[]). 2001-09-17 21:27:41 +00:00
subr_kobj.c
subr_log.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
subr_mbuf.c Fix bug in mb_alloc that made systems configured with 2002-03-03 22:10:04 +00:00
subr_mchain.c Add support for iovcnt greater than 1. This should resolve problems 2002-02-21 16:23:38 +00:00
subr_module.c
subr_param.c Unconditionally limit maxproc so that it is not possible 2002-03-07 04:50:36 +00:00
subr_pcpu.c Add a per-cpu variable, cpumask, the preshifted equivalent of 1 << cpuid. 2002-01-05 09:35:50 +00:00
subr_power.c Add generalized power profile code. 2002-03-04 18:46:13 +00:00
subr_prf.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_prof.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_rman.c Add a rman_reserve_resource_bound() function that takes an additional 2001-12-21 21:40:55 +00:00
subr_sbuf.c Fix warnings on gcc-3.1+ where __func__ is a const char * instead of a 2002-03-19 10:56:46 +00:00
subr_scanf.c
subr_smp.c - Remove a semi-colon from after SYSINIT that was introduced in rev. 1.163. 2002-03-20 14:46:38 +00:00
subr_taskqueue.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
subr_trap.c Style fixes purposefully left out of last commit. I checked the kse tree 2002-03-29 16:45:03 +00:00
subr_turnstile.c Add a new mtx_init option "MTX_DUPOK" which allows duplicate acquires of locks 2002-03-27 09:23:41 +00:00
subr_witness.c Add a new mtx_init option "MTX_DUPOK" which allows duplicate acquires of locks 2002-03-27 09:23:41 +00:00
subr_xxx.c Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
sys_generic.c Remove __P. 2002-03-19 21:25:46 +00:00
sys_pipe.c Allow resursion on the pipe mutex because filt_piperead() and filt_pipewrite() 2002-03-27 21:47:50 +00:00
sys_process.c Convert all pmap_kenter/pmap_kremove pairs in MI code to use pmap_qenter/ 2002-03-17 00:56:41 +00:00
sys_socket.c Giant pushdown for read/write/pread/pwrite syscalls. 2002-03-15 08:03:46 +00:00
syscalls.c Part II: update various mechanically generated files to allow for new 2002-03-05 16:13:01 +00:00
syscalls.master Reserve system call numbers for the MAC framework. This will prevent 2002-03-05 16:11:11 +00:00
sysv_ipc.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
sysv_msg.c Remove __P. 2002-03-19 21:25:46 +00:00
sysv_sem.c Remove __P. 2002-03-19 21:25:46 +00:00
sysv_shm.c Remove __P. 2002-03-19 21:25:46 +00:00
tty_compat.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
tty_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty_cons.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
tty_pty.c Remove __P. 2002-03-19 21:25:46 +00:00
tty_subr.c Remove __P. 2002-03-19 21:25:46 +00:00
tty_tty.c Remove __P. 2002-03-19 21:25:46 +00:00
tty.c Remove __P. 2002-03-19 21:25:46 +00:00
uipc_accf.c Revert the last bits of my bogus move of NMBCLUSTERS 2001-06-01 21:47:34 +00:00
uipc_domain.c Add calls to uma_zone_set_max() to restore previously enforced limits. 2002-03-20 05:30:58 +00:00
uipc_mbuf2.c Remove __P. 2002-03-19 21:25:46 +00:00
uipc_mbuf.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_proto.c Implement a LOCAL_PEERCRED socket option which returns a 2001-08-17 22:01:18 +00:00
uipc_sockbuf.c Backout part of my previous commit; I was wrong about vm_zone's handling of 2002-03-20 04:39:32 +00:00
uipc_socket2.c Backout part of my previous commit; I was wrong about vm_zone's handling of 2002-03-20 04:39:32 +00:00
uipc_socket.c UMA permited us to utilize the 'waitok' flag to soalloc. 2002-03-20 21:23:26 +00:00
uipc_syscalls.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
uipc_usrreq.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
vfs_acl.c Fix a gcc-3.1+ warning. 2002-03-19 11:02:06 +00:00
vfs_aio.c Keep the reference to the file acquired in _aio_aqueue() until the operation 2002-03-31 20:17:56 +00:00
vfs_bio.c Remove __P. 2002-03-19 21:25:46 +00:00
vfs_cache.c Remove __P. 2002-03-19 21:25:46 +00:00
vfs_cluster.c Remove __P. 2002-03-19 21:25:46 +00:00
vfs_conf.c Centralize the "bootdev" and "dumpdev" variables. They are still pretty 2002-03-31 07:15:28 +00:00
vfs_default.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:09:59 +00:00
vfs_export.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
vfs_extattr.c - Properly sync vfs_nmount() with changes that have be already done 2002-03-28 13:47:32 +00:00
vfs_init.c Commit work-around for panics when mounting FS's that are auto-loaded as 2002-03-25 21:30:50 +00:00
vfs_lookup.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:09:59 +00:00
vfs_mount.c Centralize the "bootdev" and "dumpdev" variables. They are still pretty 2002-03-31 07:15:28 +00:00
vfs_subr.c As discussed in -arch, add the new nmount(2) system call and the 2002-03-26 15:33:44 +00:00
vfs_syscalls.c - Properly sync vfs_nmount() with changes that have be already done 2002-03-28 13:47:32 +00:00
vfs_vnops.c Added used include of <sys/sx.h>. Don't depend on namespace pollution in 2002-03-26 01:09:51 +00:00
vnode_if.pl Throw the $FreeBSD$s back in, properly escaping them. 2002-01-04 05:27:47 +00:00
vnode_if.src Introduce the new 64-bit size disk block, daddr64_t. Change 2002-03-15 18:49:47 +00:00