1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/sys
Jeff Roberson 1c4bcd050a - Move rusage from being per-process in struct pstats to per-thread in
td_ru.  This removes the requirement for per-process synchronization in
   statclock() and mi_switch().  This was previously supported by
   sched_lock which is going away.  All modifications to rusage are now
   done in the context of the owning thread.  reads proceed without locks.
 - Aggregate exiting threads rusage in thread_exit() such that the exiting
   thread's rusage is not lost.
 - Provide a new routine, rufetch() to fetch an aggregate of all rusage
   structures from all threads in a process.  This routine must be used
   in any place requiring a rusage from a process prior to it's exit.  The
   exited process's rusage is still available via p_ru.
 - Aggregate tick statistics only on demand via rufetch() or when a thread
   exits.  Tick statistics are kept in the thread and protected by sched_lock
   until it exits.

Initial patch by:	attilio
Reviewed by:		attilio, bde (some objections), arch (mostly silent)
2007-06-01 01:12:45 +00:00
..
_bus_dma.h Break out typedefs from bus_dma.h to _bus_dma.h so that we can get the 2006-09-03 00:26:17 +00:00
_elf_solaris.h ELF compatibility definitions for OpenSolaris. These are covered 2006-10-04 07:19:39 +00:00
_iovec.h
_lock.h track lock class name in a way that doesn't break WITNESS 2006-11-13 05:41:46 +00:00
_mutex.h Rename the 'mtx_object', 'rw_object', and 'sx_object' members of mutexes, 2007-03-21 21:20:51 +00:00
_null.h
_pthreadtypes.h
_rwlock.h Rename the 'mtx_object', 'rw_object', and 'sx_object' members of mutexes, 2007-03-21 21:20:51 +00:00
_semaphore.h
_sigset.h
_sx.h Optimize sx locks to use simple atomic operations for the common cases of 2007-03-31 23:23:42 +00:00
_task.h
_timespec.h
_timeval.h
_types.h
aac_ioctl.h
acct.h Increase precision of time values in the process accounting 2007-05-22 06:51:38 +00:00
acl.h Minor white space tweaks in comments. 2007-03-16 13:39:04 +00:00
agpio.h
aio.h
alq.h
apm.h Evolve the ctlreq interface added to geom_gpt into a generic 2007-02-07 18:55:31 +00:00
assym.h
ata.h Add the SMART command to the ATA instruction set. 2007-01-27 21:15:59 +00:00
bio.h Add a new I/O request - BIO_FLUSH, which basically tells providers below to 2006-10-31 21:11:21 +00:00
bitstring.h
blist.h
buf.h Instead of doing comparisons using the pcpu area to see if 2007-03-08 06:44:34 +00:00
bufobj.h Cylinder group bitmaps and blocks containing inode for a snapshot 2007-01-23 10:01:19 +00:00
bus_dma.h Break out typedefs from bus_dma.h to _bus_dma.h so that we can get the 2006-09-03 00:26:17 +00:00
bus.h o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
callout.h Make the TCP timer callout obtain Giant if the network stack is marked 2007-05-11 20:52:47 +00:00
cdefs.h Use __builtin_offsetof for GCC 4.1. 2006-09-21 01:38:58 +00:00
cdio.h
cdrio.h
chio.h
clist.h
clock.h Better naming of fattime conversion functions, they do convert to timespec 2006-10-24 10:27:23 +00:00
condvar.h Rename the cv_*wait*() functions to _cv_*wait*() and change their second 2007-03-21 22:22:13 +00:00
conf.h Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
cons.h Add a cnputs() function to write a string to the console with 2006-11-01 04:54:51 +00:00
consio.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
copyright.h The pc98 porting team's copyright year should be 2003, when 2007-01-10 01:29:46 +00:00
cpu.h Add an interface for drivers to be notified of changes to CPU frequency. 2007-03-26 18:03:29 +00:00
ctype.h
dataacq.h
device_port.h
devicestat.h
digiio.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
dir.h
dirent.h o Re-word a comment. 2006-08-16 09:34:56 +00:00
disk.h Implement three new ioctls that can be used with GEOM provider: 2007-05-05 17:02:19 +00:00
disklabel.h
diskmbr.h
diskpc98.h
dkstat.h
domain.h Move definition of UNIX domain socket protosw and domain entries from 2006-08-07 12:02:43 +00:00
dvdio.h
elf32.h Convert types 'Elf{32,64}_Nhdr' into aliases of the generic 'Elf_Note' 2006-10-17 05:43:30 +00:00
elf64.h Convert types 'Elf{32,64}_Nhdr' into aliases of the generic 'Elf_Note' 2006-10-17 05:43:30 +00:00
elf_common.h Correct PT_GNU_EH_FRAME definition. 2007-04-03 01:47:07 +00:00
elf_generic.h
elf.h This file is the same as the one installed in /usr/include, however 2006-10-04 07:23:31 +00:00
endian.h
errno.h
eui64.h
event.h hide kqueue_register from public view, and replace it w/ kqfd_register... 2006-09-24 04:47:47 +00:00
eventhandler.h When we are running low on vnodes, there is currently no way to ask other 2007-04-13 08:38:48 +00:00
eventvar.h
exec.h
extattr.h Revert/re-make previous commit in a manner that maintains hyphenation of 2007-03-16 19:18:49 +00:00
fbio.h
fcntl.h
fdcio.h
file.h - Close a race between enumerating UNIX domain socket pcb structures via 2007-01-05 19:59:46 +00:00
filedesc.h Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
filio.h Implement SEEK_DATA and SEEK_HOLE extensions to lseek(2) as found in 2007-04-05 21:10:53 +00:00
firmware.h Cleanup and document the implementation of firmware(9) based on 2007-02-15 17:21:31 +00:00
fnv_hash.h
gmon.h
gpt.h Add the UUID of Apple's HFS file system as can be found in the Intel 2006-06-22 22:11:12 +00:00
hash.h Fix a compiler warning so hash.h can be included in the kernel. This changes 2007-04-09 22:55:14 +00:00
iconv.h
imgact_aout.h
imgact_elf.h
imgact.h - Change process_exec function handlers prototype to include struct 2006-08-15 12:10:57 +00:00
inflate.h
interrupt.h Bring in the reminaing bits to make interrupt filtering work: 2007-05-06 17:02:50 +00:00
ioccom.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
ioctl_compat.h Increase the verbosity of the warning given when this file is used as 2007-04-27 11:19:05 +00:00
ioctl.h
ipc.h
ipmi.h Update the ipmi(4) driver: 2006-09-22 22:11:29 +00:00
jail.h Implement functionality I called 'jail services'. 2007-04-05 23:19:13 +00:00
joystick.h
kbio.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
kdb.h
kenv.h
kernel.h Fix build breakage. 2007-04-09 22:29:13 +00:00
kerneldump.h
kobj.h Fix typo in a comment: DEFINE_CLASSx => DEFINE_CLASS_x. 2006-08-24 21:09:39 +00:00
kse.h
ksem.h
kthread.h
ktr.h
ktrace.h
libkern.h strchr() and strrchr() are already present in the kernel, but with less 2007-04-10 21:42:12 +00:00
limits.h
linedisc.h
link_aout.h
link_elf.h Add dl_iterate_phdr function prototype and corresponding dl_phdr_info 2007-04-03 18:33:41 +00:00
linker_set.h
linker.h Add a new section in this file for functions that are only exported by the 2006-06-20 20:59:55 +00:00
lock_profile.h Don't set lo_name and clobber lo_flags in lock_profile_object_init(). 2007-05-23 18:46:54 +00:00
lock.h Remove unneccessary LO_CONTESTED flag 2007-04-03 17:57:50 +00:00
lockf.h Correct typo in comment 2007-05-17 16:03:14 +00:00
lockmgr.h - Use lock_init/lock_destroy() to setup the lock_object inside of lockmgr. 2007-03-30 18:07:24 +00:00
mac.h Update comments in mac.h. 2007-02-06 16:24:57 +00:00
malloc.h
mbpool.h
mbuf.h back out option to disable packet zone 2007-04-15 06:30:28 +00:00
mchain.h
md4.h
md5.h
mdioctl.h
memrange.h
mman.h
module.h
mount.h In the MAC Framework implementation, file systems have two per-mountpoint 2007-04-22 16:18:10 +00:00
mouse.h Spell "Kensington Thinking Mouse" correctly. 2006-12-18 18:48:28 +00:00
mqueue.h
msg.h
msgbuf.h up the default msgbuf limit to 64k.. a verbose boot on i386 on modern 2006-09-03 00:33:19 +00:00
mtio.h
mutex.h Group the loop to acquire/release Giant with the WITNESS_SAVE/RESTORE under 2007-04-11 13:44:55 +00:00
namei.h
nlist_aout.h
param.h Bump __FreeBSDversion for shared library version bump. 2007-05-21 14:03:28 +00:00
pciio.h
pcpu.h Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
pioctl.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
pipe.h
pmc.h
pmckern.h
pmclog.h
poll.h
posix4.h Update #includes list. 2006-11-11 16:19:12 +00:00
power.h
priority.h Replace (name) with Henric Vestergaard Draboel since it was clear that 2007-01-08 21:21:45 +00:00
priv.h Attempt to rationalize NFS privileges: 2007-04-21 18:11:19 +00:00
proc.h - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
procfs.h
protosw.h soreceive_generic(), and sopoll_generic(). Add new functions sosend(), 2006-07-24 15:20:08 +00:00
ptio.h
ptrace.h
queue.h Remove the non-standard and undocumented STAILQ_REMOVE_HEAD_UNTIL() 2006-10-24 11:19:21 +00:00
random.h
reboot.h
refcount.h
regression.h
resource.h - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
resourcevar.h - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
rman.h Add a convenience function rman_init_from_resource for initializing 2006-06-12 04:06:21 +00:00
rtprio.h Replace (name) with Henric Vestergaard Draboel since it was clear that 2007-01-08 21:21:45 +00:00
runq.h - Change types for necent runq additions to u_char rather than int. 2007-02-08 01:52:25 +00:00
rwlock.h Add destroyed cookie values for sx locks and rwlocks as well as extra 2007-05-08 21:51:37 +00:00
sbuf.h
sched.h - Remove setrunqueue and replace it with direct calls to sched_add(). 2007-01-23 08:46:51 +00:00
select.h
selinfo.h
sem.h Remove extra forward declare of 'struct sem'. 2006-11-07 18:56:48 +00:00
sema.h
semaphore.h
serial.h
sf_buf.h
shm.h
sigio.h
signal.h
signalvar.h Move some declaration of 32-bit signal structures into file 2006-10-05 01:56:11 +00:00
sleepqueue.h Optimize sx locks to use simple atomic operations for the common cases of 2007-03-31 23:23:42 +00:00
smp.h
snoop.h
socket.h Make inet6_rth_* family of functions more compliant with RFC3542: 2007-04-19 15:48:16 +00:00
socketvar.h sblock() implements a sleep lock by interlocking SB_WANT and SB_LOCK flags 2007-05-03 14:42:42 +00:00
sockio.h Revise network interface cloning to take an optional opaque 2006-07-09 06:04:01 +00:00
soundcard.h MFP4 (109713): 2006-11-26 11:55:48 +00:00
stack.h
stat.h Add OpenSolaris compatibility definitions for stat64 and fstat64 which 2006-08-04 23:47:30 +00:00
statvfs.h
stddef.h
stdint.h
sun_disklabel.h
sx.h Add functions sx_xlock_sig() and sx_slock_sig(). 2007-05-31 09:14:48 +00:00
syscall.h This commits the remake in kern/ make sysent to get 2006-11-03 18:57:49 +00:00
syscall.mk This commits the remake in kern/ make sysent to get 2006-11-03 18:57:49 +00:00
syscallsubr.h MFP4: (part of) 110058 2006-12-20 19:26:30 +00:00
sysctl.h Add kern.arnd sysctl. SSP code uses it to initialize the stack guard 2007-05-19 04:53:14 +00:00
sysent.h Rework the support for ABIs to override resource limits (used by 32-bit 2007-05-14 22:40:04 +00:00
syslimits.h Use the same ARG_MAX for arm than for the other platforms. I don't see any 2007-05-29 15:14:46 +00:00
syslog.h
sysproto.h Regen (cosmetics in sys/sysproto.h). 2006-11-11 22:01:25 +00:00
systm.h - Move clock synchronization into a seperate clock lock so the global 2007-05-20 22:11:50 +00:00
taskqueue.h
termios.h
thr.h Merge posix4/* into normal kernel hierarchy. 2006-11-11 16:26:58 +00:00
tiio.h
time.h Solaris compatibility only: Be specific about the fact that 2006-10-03 04:01:30 +00:00
timeb.h
timepps.h
timers.h
times.h
timespec.h
timetc.h
timex.h
tree.h
tty.h
ttychars.h
ttycom.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
ttydefaults.h
ttydev.h
turnstile.h
types.h Add some compatibility definitions for OpenSolaris source. 2006-08-04 22:54:10 +00:00
ucontext.h
ucred.h Update a comment: Rather than suggesting suser(), suggest priv(9) for 2007-03-14 19:52:19 +00:00
uio.h Document struct uio.h entries. 2006-11-29 19:08:45 +00:00
umtx.h Add a lwpid field into per-cpu structure, the lwpid represents current 2006-12-20 04:40:39 +00:00
un.h
unistd.h Hide SEEK_DATA and SEEK_HOLE under __BSD_VISIBLE. 2007-04-07 18:31:40 +00:00
unpcb.h Revise locking strategy used for UNIX domain sockets in order to improve 2007-02-26 20:47:52 +00:00
user.h
utsname.h
uuid.h
vmmeter.h Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
vnode.h Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
wait.h
watchdog.h Align the interfaces for the various watchdogs and make the interface 2006-12-15 21:44:49 +00:00
xrpuio.h