freebsd-skq/sys/sys
Julian Elischer 1faf202ea9 Use UMA as a complex object allocator.
The process allocator now caches and hands out complete process structures
*including substructures* .

i.e. it get's the process structure with the first thread (and soon KSE)
already allocated and attached, all in one hit.

For the average non threaded program (non KSE that is) the allocated thread and its stack remain attached to the process, even when the process is
unused and in the process cache. This saves having to allocate and attach it
later, effectively bringing us (hopefully) close to the efficiency
of pre-KSE systems where these were a single structure.

Reviewed by:	davidxu@freebsd.org, peter@freebsd.org
2002-09-06 07:00:37 +00:00
..
_label.h Define 'struct label' in _label.h rather than mac.h, which will permit 2002-08-13 15:54:28 +00:00
_lock.h Renamed the idempotency identifier to match the file name. 2002-06-07 14:37:09 +00:00
_mutex.h Add mtx_ prefixes to the fields used for mutex profiling, and fix a bug 2002-07-03 01:50:27 +00:00
_posix.h
_sigset.h Quick fix for the type of the bitmap in sigset_t. It was an array of 2002-06-20 09:04:33 +00:00
_timespec.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
_types.h Move intrmask_t to the kernel-only section of <sys/types.h>. Add some 2002-08-25 19:26:31 +00:00
aac_ioctl.h Bring the aac driver *much* closer to style(9). 2001-09-05 20:43:02 +00:00
acct.h Remove __P 2002-03-19 20:18:42 +00:00
acl.h More s/file system/filesystem/g 2002-05-16 21:28:32 +00:00
agpio.h Fix an off-by-bit error in the AGP_MODE_[GS]ET_RATE() macros. 2001-11-21 08:40:23 +00:00
aio.h o Add missing synchronization (splnet()/splx()) in aio_free_entry(). 2002-01-06 21:03:39 +00:00
assym.h
ata.h Cleanup, use the same method to denote parts for endianess. 2002-04-05 18:03:33 +00:00
bio.h Forward declare struct uio so that <sys/uio.h> isn't a prerequisite. 2002-09-05 09:31:14 +00:00
bitstring.h
blist.h Move the hideously misnamed type "u_daddr_t" to <sys/blist.h> where it 2002-05-18 09:38:20 +00:00
buf.h Change hw.physmem and hw.usermem to unsigned long like they used to be 2002-08-30 04:04:37 +00:00
bus_dma.h - Moved the bus_dma declarations from bus_{at386,pc98}.h into bus_dma.h. 2001-10-06 16:27:21 +00:00
bus_private.h Style(9) 2001-09-05 01:06:28 +00:00
bus.h Add bus_child_present and the child_present method to bus_if.m 2002-07-21 03:28:43 +00:00
callout.h Remove __P 2002-03-19 20:18:42 +00:00
ccdvar.h Fix some signed/unsigned integer confusion, and add bounds checking of 2001-09-10 11:28:07 +00:00
cdefs.h Identify the C Language Binding Option of IEEE Std. 1003.2-1992. 2002-07-15 16:44:07 +00:00
cdio.h Add endianess kludge code, so that bitfields work on the sparc64 as well. 2002-04-05 13:10:26 +00:00
cdrio.h Add DVD+RW support to the ATA driver and burncd. This also closes 2002-08-08 07:59:24 +00:00
chio.h
clist.h
clock.h Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
condvar.h Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
conf.h Used protected names (_foo) for parameter names. This helps clean up 2002-04-21 10:57:43 +00:00
cons.h Remove __P 2002-03-19 20:18:42 +00:00
consio.h 1. Allow information about current history size be retrieved using ioctl(2); 2002-08-19 16:32:09 +00:00
copyright.h Welcome 2002. Happy new year. 2002-01-01 09:20:52 +00:00
ctype.h
dataacq.h
device_port.h
devicestat.h Export the head structure for the device statistics STAILQ in 2001-08-04 18:02:47 +00:00
digiio.h Add DIGIIO_SETALTPIN and DIGIIO_GETALTPIN ioctl values 2001-06-20 14:51:58 +00:00
dir.h
dirent.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
disk.h Implement DIOCGFRONTSTUFF ioctl which reports how many bytes from the start 2002-04-09 15:43:32 +00:00
disklabel.h forgot to actually commit the DK/FS TYPES split, do it now. 2002-08-16 09:07:15 +00:00
diskmbr.h forgot to actually commit the DK/FS TYPES split, do it now. 2002-08-16 09:07:15 +00:00
diskpc98.h forgot to actually commit the DK/FS TYPES split, do it now. 2002-08-16 09:07:15 +00:00
diskslice.h Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-23 08:46:52 +00:00
dkstat.h
dmap.h
domain.h Remove __P 2002-03-19 20:18:42 +00:00
dvdio.h Update header. 2002-03-04 21:08:35 +00:00
elf32.h Move the definition of ElfN_Hashelt to common headers. The only platform 2002-05-30 08:32:18 +00:00
elf64.h Move the definition of ElfN_Hashelt to common headers. The only platform 2002-05-30 08:32:18 +00:00
elf_common.h - Call a SHT_REL 'relocation section' rather than 2002-08-11 21:07:50 +00:00
elf_generic.h Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable 2002-07-20 02:56:12 +00:00
endian.h Make this header self-reliant with regard to the types it uses. 2002-04-29 16:58:54 +00:00
errno.h s/EDOFUS/EDOOFUS/ 2002-08-21 17:11:00 +00:00
event.h Updated a comment. Namspace pollution in <sys/select.h> is now moot since 2002-06-29 19:14:52 +00:00
eventhandler.h Convert macros with variadic arguments from GNU format to ISO 9X. 2002-07-15 17:15:41 +00:00
eventvar.h
exec.h Remove __P 2002-03-19 20:18:42 +00:00
extattr.h Introduce new extattr_check_cred() function which implements the canonical 2002-09-05 20:38:57 +00:00
fbio.h Turn on TGA support. 2002-04-13 22:34:16 +00:00
fcntl.h Remove __P 2002-03-19 20:18:42 +00:00
fdcio.h Long promised major enhancement set for the floppy disk driver: 2001-12-15 19:09:04 +00:00
file.h In continuation of early fileop credential changes, modify fo_ioctl() to 2002-08-17 02:36:16 +00:00
filedesc.h ISOfy and minor warnsfix. 2002-07-15 13:08:44 +00:00
filio.h
fnv_hash.h Use the same API as the example code. 2001-03-20 02:10:18 +00:00
gmon.h Reserved one of the spare fields in struct gmon to record the history 2002-02-21 05:52:49 +00:00
gpt.h Don't use an incomplete array type to mark the start of the padding 2002-05-31 01:07:13 +00:00
iconv.h Convert GNU variadic macros to the ISO 9X variety. 2002-07-15 13:34:50 +00:00
imgact_aout.h Forward declare struct vnode so that <sys/vnode.h> or some other header 2002-09-05 07:54:03 +00:00
imgact_elf.h Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable 2002-07-20 02:56:12 +00:00
imgact.h Added fields for VM_MIN_ADDRESS, PS_STRINGS and stack protections to 2002-09-01 21:41:24 +00:00
inflate.h Forgot one more instance of my old email address. 2002-03-26 08:29:40 +00:00
interrupt.h Remove __P 2002-03-19 20:18:42 +00:00
ioccom.h I've fixed the X11 port, so I can remove the (ioctl) hack. 2002-04-10 04:53:37 +00:00
ioctl_bt848.h
ioctl_compat.h
ioctl_meteor.h
ioctl.h Hide GCCisms in the non-GCC case. 2002-02-26 07:44:03 +00:00
ipc.h Remove __P 2002-03-19 20:18:42 +00:00
jail.h Include <sys/queue.h> so that this file provides its own namespace 2002-05-06 03:13:08 +00:00
joystick.h Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
jumbo.h Remove the advertising clause from the Duke BSD copyright on the 2002-07-06 02:44:15 +00:00
kbio.h Implement keyboard paste 2001-03-11 22:51:05 +00:00
kenv.h Rework the kernel environment subsystem. We now convert the static 2002-04-17 13:06:36 +00:00
kernel.h Add a new SYSINIT subsystem for KTRACE. 2002-06-07 05:11:39 +00:00
kerneldump.h Restore the ability to take crashdumps on alpha. This was cut and pasted 2002-05-11 21:53:46 +00:00
kobj.h Convert hit and miss counters to unsigned values. Surely negative values 2002-06-10 22:40:26 +00:00
kse.h remove cruft 2002-06-29 07:16:24 +00:00
kthread.h Remove __P 2002-03-19 20:18:42 +00:00
ktr.h Add a new KTR type KTR_CONTENTION, and use it in the mutex code to 2002-08-26 18:39:38 +00:00
ktrace.h Overhaul the ktrace subsystem a bit. For the most part, the actual vnode 2002-06-07 05:32:59 +00:00
libkern.h Hook up libkern/strlcpy.c and libkern/strlcat.c after repocopy. 2002-09-02 20:16:22 +00:00
linedisc.h Used protected names (_foo) for parameter names. This helps clean up 2002-04-21 10:57:43 +00:00
link_aout.h Repo copy link.h to sys/link_elf.h and sys/link_aout.h since they are 2002-08-22 20:35:23 +00:00
link_elf.h Repo copy link.h to sys/link_elf.h and sys/link_aout.h since they are 2002-08-22 20:35:23 +00:00
linker_set.h Wrap GCC-specific stuff and provide alternative for lint. 2002-04-21 11:11:02 +00:00
linker.h Make the consumers of the linker_load_file() function use 2002-08-02 20:56:07 +00:00
lock.h Forward declare struct thread so that this header doesn't depend on its 2002-08-28 05:14:55 +00:00
lockf.h Remove __P 2002-03-19 20:18:42 +00:00
lockmgr.h Record the file, line, and pid of the last successful shared lock holder. This 2002-05-30 05:55:22 +00:00
mac_policy.h Pass active_cred and file_cred into the MAC framework explicitly 2002-08-19 19:04:53 +00:00
mac.h Pass active_cred and file_cred into the MAC framework explicitly 2002-08-19 19:04:53 +00:00
malloc.h fix whitespace botch in previous commit. 2002-06-19 01:23:54 +00:00
mbuf.h Make m_flags an int instead of a short, this is consistent with the 2002-08-15 14:09:16 +00:00
mchain.h Add the following functions/macros to support byte order conversions and 2002-02-27 17:16:18 +00:00
md4.h Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
md5.h Oops, this should have been part of my previous commit. 2002-06-24 14:18:39 +00:00
mdioctl.h Actually make use of the md_version field of 'struct mdio'. In order 2001-12-20 06:38:21 +00:00
memrange.h Make the MTRR code a bit more defensive - this should help people 2002-04-14 20:19:13 +00:00
mman.h o Fix namespace issues in <sys/mman.h>. 2002-08-23 20:04:49 +00:00
module.h - Lock down the ``module'' structure by adding an SX lock that is used by 2002-03-18 07:45:30 +00:00
mount.h Keep a copy of the credential used to mount filesystems around so 2002-08-19 06:52:21 +00:00
mouse.h Minor changes: 2002-03-24 03:07:07 +00:00
msg.h fix comment typo: naem -> name 2002-08-16 07:42:18 +00:00
msgbuf.h Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-23 08:46:52 +00:00
mtio.h Make the mtio data structures explicitly sized. 2002-05-14 07:30:13 +00:00
mutex.h Disable optimization of spinlocks on UP kernels w/o debugging for now 2002-07-27 16:54:23 +00:00
namei.h More s/file system/filesystem/g 2002-05-16 21:28:32 +00:00
nlist_aout.h Pad after "char *n_name;" in the !_AOUT_INCLUDE_ case so that struct nlist 2002-09-05 08:03:02 +00:00
param.h Bump __FreeBSD_version for _BSD_FOO_T_ to _FOO_T_DECLARED switch. 2002-09-01 04:49:38 +00:00
pciio.h style(9) the structure definitions. 2001-09-05 01:22:14 +00:00
pcpu.h Whitespace and style fixes. 2002-08-20 19:50:30 +00:00
pioctl.h Kernel modifications necessary to allow to follow fork()ed children. 2002-08-04 01:07:02 +00:00
pipe.h Move to a nested include of _label.h instead of mac.h in sys/sys/*.h 2002-08-14 01:04:43 +00:00
poll.h Reconnect a comment with its code. 2002-07-10 04:47:25 +00:00
posix4.h Remove __P. 2002-03-19 22:20:14 +00:00
power.h Very minor warns fix. Add a declaration for an unused parameter. 2002-07-15 14:06:03 +00:00
priority.h style(9) the structure definitions. 2001-09-05 01:22:14 +00:00
proc.h Use UMA as a complex object allocator. 2002-09-06 07:00:37 +00:00
procfs.h Use explicit sizes for the prpsinfo command length string so that 2001-08-16 08:35:51 +00:00
protosw.h make the strings for tcptimers, tanames and prurequests const to silence 2002-08-16 09:07:59 +00:00
ptio.h
ptrace.h Implement PT_IO (read / write arbitrary amounts of data or text). 2002-03-16 02:40:02 +00:00
queue.h Add a macro for SLIST traversal 'SLIST_FOREACH_PREVPTR', 2002-08-05 05:18:43 +00:00
random.h Provide infrastructure for harvesting SWI entropy. 2002-03-03 20:09:42 +00:00
reboot.h Add new boot flag to i386 boot: -p. 2001-12-10 20:02:22 +00:00
regression.h Remove __P 2002-03-19 20:18:42 +00:00
resource.h Part I of RLIMIT_VMEM implementation. Implement core functionality for 2002-06-26 00:29:28 +00:00
resourcevar.h Widen struct sockbuf's sb_timeo member to int from short. With 2002-07-24 03:02:43 +00:00
rman.h Add a rman_reserve_resource_bound() function that takes an additional 2001-12-21 21:40:55 +00:00
rtprio.h Remove __P 2002-03-19 20:18:42 +00:00
runq.h Make the run queue parameters machine dependent. Optimize 64 bit 2002-05-25 01:12:23 +00:00
sbuf.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
select.h Now that we have a separate header file for sigset_t, use it and avoid 2002-06-16 18:40:16 +00:00
selinfo.h Remove __P 2002-03-19 20:18:42 +00:00
sem.h Remove __P 2002-03-19 20:18:42 +00:00
sema.h Added used includes. <sys/_lock.h> is a prerequisite for <sys/_mutex.h>, 2001-10-10 10:26:07 +00:00
semaphore.h Remove __P. 2002-03-19 22:20:14 +00:00
shm.h Remove __P 2002-03-19 20:18:42 +00:00
signal.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
signalvar.h Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
smp.h Forward declare struct thread. 2002-05-20 16:11:38 +00:00
snoop.h Include <sys/types.h> in the !_KERNEL case so that this file is 2002-06-24 11:45:45 +00:00
socket.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
socketvar.h In continuation of early fileop credential changes, modify fo_ioctl() to 2002-08-17 02:36:16 +00:00
sockio.h Style consistency fix for MAC ioctls added previously. 2002-02-10 16:55:35 +00:00
soundcard.h Remove __P 2002-03-19 20:18:42 +00:00
stat.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
statvfs.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
stdint.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
sun_disklabel.h Add a hack (ported from NetBSD) to support Sun disk labels. 2002-05-09 20:22:59 +00:00
sx.h - Make this compile if INVARIANTS support is not enabled. 2002-04-02 18:18:56 +00:00
syscall.h Regen. 2002-08-19 20:02:29 +00:00
syscall.mk Regen. 2002-08-19 20:02:29 +00:00
syscallsubr.h Split up ptrace() into a wrapper that does the copying to and from 2002-09-05 01:02:50 +00:00
sysctl.h Introduce a new sysctl flag, CTLFLAG_SKIP, which will cause 2002-08-10 19:56:45 +00:00
sysent.h Added fields for VM_MIN_ADDRESS, PS_STRINGS and stack protections to 2002-09-01 21:41:24 +00:00
syslimits.h After one too many PRs on the subject, bite the bullet and define IOV_MAX 2001-06-18 20:24:54 +00:00
syslog.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
sysproto.h Regen. 2002-08-19 20:02:29 +00:00
systm.h Change hw.physmem and hw.usermem to unsigned long like they used to be 2002-08-30 04:04:37 +00:00
taskqueue.h Revert the reindentation of struct task's definition from rev 1.4. 2001-10-28 16:19:34 +00:00
termios.h Remove __P 2002-03-19 20:18:42 +00:00
tiio.h At long last, commit the zero copy sockets code. 2002-06-26 03:37:47 +00:00
time.h Fix visibility issues; use <sys/timespec.h>. 2002-06-15 23:37:33 +00:00
timeb.h Remove __P 2002-03-19 20:18:42 +00:00
timepps.h Brucifixion ? Yes, out that door, row on the left, one patch each. 2002-04-30 19:48:45 +00:00
timers.h
times.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
timespec.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
timetc.h Give up on calling tc_ticktock() from a timeout, we have timeout 2002-09-04 10:15:19 +00:00
timex.h Removed unused forward struct declaration. 2002-04-28 09:51:45 +00:00
tree.h Import OpenBSD's <sys/tree.h>, needed by OpenSSH. 2002-06-23 14:38:51 +00:00
tty.h Fixed some style bugs in recent commits. 2002-05-28 15:24:13 +00:00
ttychars.h
ttycom.h
ttydefaults.h Kernel support for erase2 character. 2000-11-28 20:03:23 +00:00
ttydev.h Add B921600 (yes, some serial ports can do this, but generic sio not support 2001-06-20 03:26:41 +00:00
types.h Move intrmask_t to the kernel-only section of <sys/types.h>. Add some 2002-08-25 19:26:31 +00:00
ucontext.h Add getcontext, setcontext, makecontext, and swapcontext prototypes 2002-01-10 02:44:30 +00:00
ucred.h Allow one to grab the definition of struct ucred by defining _WANT_UCRED 2002-08-28 20:39:48 +00:00
uio.h At long last, commit the zero copy sockets code. 2002-06-26 03:37:47 +00:00
un.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
unistd.h Add pathconf/fpathconf entries from POSIX.1e indicating support for 2002-07-31 15:54:03 +00:00
unpcb.h More s/file system/filesystem/g 2002-05-16 21:28:32 +00:00
user.h Adjust KINFO_PROC_SIZE due to segsz_t being changed from a 32-bit to 2002-05-03 01:41:37 +00:00
utsname.h Round 1 of Brucification inspired changes. 2001-03-24 08:37:56 +00:00
uuid.h Add uuidgen(2) and uuidgen(1). 2002-05-28 06:16:08 +00:00
vmmeter.h Make a structure definition slightly more style(9) compliant (makes 2002-06-01 03:55:16 +00:00
vnioctl.h
vnode.h Split out a number of mostly VFS and signal related syscalls into 2002-09-01 20:37:28 +00:00
wait.h Remove the deprecated 4.2/4.3BSD wait union. 2002-06-05 02:21:01 +00:00
xrpuio.h