freebsd-nq/sys/sys
Julian Elischer ad1e7d285a Threading cleanup.. part 2 of several.
Make part of John Birrell's KSE patch permanent..
Specifically, remove:
Any reference of the ksegrp structure. This feature was
never fully utilised and made things overly complicated.
All code in the scheduler that tried to make threaded programs
fair to unthreaded programs.  Libpthread processes will already
do this to some extent and libthr processes already disable it.

Also:
Since this makes such a big change to the scheduler(s), take the opportunity
to rename some structures and elements that had to be moved anyhow.
This makes the code a lot more readable.

The ULE scheduler compiles again but I have no idea if it works.

The 4bsd scheduler still reqires a little cleaning and some functions that now do
ALMOST nothing will go away, but I thought I'd do that as a separate commit.

Tested by David Xu, and Dan Eischen using libthr and libpthread.
2006-12-06 06:34:57 +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 /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
_label.h Improve comments for label data structure. 2006-07-23 19:26:32 +00:00
_lock.h track lock class name in a way that doesn't break WITNESS 2006-11-13 05:41:46 +00:00
_mutex.h MUTEX_PROFILING has been generalized to LOCK_PROFILING. We now profile 2006-11-11 03:18:07 +00:00
_null.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
_pthreadtypes.h According to: 2005-05-31 15:18:17 +00:00
_rwlock.h Fix a typo and match the copyright on rwlock.h. 2006-01-31 18:08:39 +00:00
_semaphore.h Const-qualify ksem_timedwait's parameter abstime as it's only passed in. 2005-10-18 11:46:24 +00:00
_sigset.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
_task.h o eliminate modification of task structures after their run to avoid 2005-04-24 16:52:45 +00:00
_timespec.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
_timeval.h Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
_types.h Let kernel POSIX timer code and mqueue code to use integer as a resource 2006-03-01 06:29:34 +00:00
aac_ioctl.h
acct.h
acl.h Convert the primary ACL allocator from malloc(9) to using a UMA zone instead. 2005-09-06 00:06:30 +00:00
agpio.h
aio.h Add aio_fsync() prototype. 2006-03-23 08:47:28 +00:00
alq.h Modify the alq(9) alq_open() API to accept a file creation mode, rather 2005-04-16 12:12:27 +00:00
assym.h
ata.h Make the ATAPI sense data accessible when using the ioctl interface 2006-03-31 08:09:05 +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 /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
blist.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
buf.h If the buffer lock has waiters after the buffer has changed identity then 2006-10-02 02:06:27 +00:00
bufobj.h Fix a spelling error in a comment. 2006-07-24 00:33:24 +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 Add prototype for bus_generic_add_child() missed in previous commit. 2006-09-11 19:42:27 +00:00
callout.h Make callout_reset() return a non-zero value if a pending callout 2005-09-08 14:20:39 +00:00
cdefs.h Use __builtin_offsetof for GCC 4.1. 2006-09-21 01:38:58 +00:00
cdio.h Boot away another stackgap (one of the lest ones in linuxlator/i386) by 2005-01-30 08:12:37 +00:00
cdrio.h
chio.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
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 Contributions from XFS for FreeBSD project: 2005-12-12 00:02:22 +00:00
conf.h Fix the race between devfs_fp_check and devfs_reclaim. Derefence the 2006-10-20 07:59:50 +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 PC98 would also like a trademark. 2006-09-26 12:45:47 +00:00
cpu.h Add a new field to struct cf_setting for special values. These are driver- 2005-02-19 06:13:26 +00:00
ctype.h
dataacq.h
device_port.h Remove code for pre-4.0 versions of FreeBSD. It is there in prior 2005-01-19 01:31:33 +00:00
devicestat.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
digiio.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
dir.h netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
dirent.h o Re-word a comment. 2006-08-16 09:34:56 +00:00
disk.h Remove last traces of disk_enumerate() 2006-03-11 10:24:50 +00:00
disklabel.h Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
diskmbr.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
diskpc98.h Change DOSPTYP_386BSD to 0xc494. 2005-05-08 11:30:26 +00:00
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 Add `PN_XNUM', for supporting ELF objects with a large number of program 2006-11-14 12:10:39 +00:00
elf_generic.h Implement ELF symbol versioning using GNU semantics. This code aims 2005-12-18 19:43:33 +00:00
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 Add some missing errnos from POSIX. Nothing in FreeBSD generates 2005-04-02 12:33:28 +00:00
eui64.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
event.h hide kqueue_register from public view, and replace it w/ kqfd_register... 2006-09-24 04:47:47 +00:00
eventhandler.h - Change process_exec function handlers prototype to include struct 2006-08-15 12:10:57 +00:00
eventvar.h Add locking to the kqueue subsystem. This also makes the kqueue subsystem 2004-08-15 06:24:42 +00:00
exec.h Make ps_nargvstr and ps_nenvstr unsigned. This fixes an input 2005-03-23 08:27:59 +00:00
extattr.h Comment extended attribute name space constants. 2006-07-23 19:26:54 +00:00
fbio.h Grab FBTYPE_NOTSUN3 and use it for FBTYPE_PCIMISC. The value matches 2005-05-21 20:40:51 +00:00
fcntl.h
fdcio.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
file.h Allow concurrent read(2)/readv(2) access to a file. 2006-05-16 07:50:54 +00:00
filedesc.h backout rev 1.74 2006-04-07 05:16:02 +00:00
filio.h Add ioctl to ask DEVFS about the name of device. 2005-03-08 21:32:19 +00:00
firmware.h Move the new flags field to the end of the structure to maintain 2006-06-10 19:23:49 +00:00
fnv_hash.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
gmon.h Move the PC_TO_I() and KCOUNT() macros so they aren't GUPROF specific 2006-03-29 18:17:03 +00:00
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 Remove comment that does not appy to FreeBSD. 2006-03-12 15:34:33 +00:00
iconv.h Fix panic when loading libiconv.ko on sparc64. 2005-09-05 17:03:40 +00:00
imgact_aout.h Capitalize at the start of sentence. 2005-05-08 02:20:10 +00:00
imgact_elf.h Remove kern.elf32.can_exec_dyn sysctl. Instead extend Brandinfo structure 2005-12-26 21:23:57 +00:00
imgact.h - Change process_exec function handlers prototype to include struct 2006-08-15 12:10:57 +00:00
inflate.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
interrupt.h Add a swi_remove() function to teardown software interrupt handlers. For 2005-10-26 15:51:05 +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 Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43) 2006-01-10 09:19:10 +00:00
ioctl.h Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43) 2006-01-10 09:19:10 +00:00
ipc.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
ipmi.h Update the ipmi(4) driver: 2006-09-22 22:11:29 +00:00
jail.h Add a new priv(9) kernel interface for checking the availability of 2006-11-06 13:37:19 +00:00
joystick.h Comment typo. 2005-01-07 19:31:43 +00:00
kbio.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
kdb.h Don't enter the debugger if KDB_UNATTENDED is set or if 2005-04-20 20:52:46 +00:00
kenv.h
kernel.h First part of a little cleanup in the calendar/timezone/RTC handling. 2006-10-02 12:59:59 +00:00
kerneldump.h Define KERNELDUMP_ARM_VERSION. 2005-10-03 14:06:00 +00:00
kobj.h Fix typo in a comment: DEFINE_CLASSx => DEFINE_CLASS_x. 2006-08-24 21:09:39 +00:00
kse.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
ksem.h Introduce MAC Framework and MAC Policy entry points to label and control 2005-05-04 10:39:15 +00:00
kthread.h
ktr.h Axe KTR_ALQ_MASK now that KTR_WITNESS is off unless you hack an #ifdef 2006-01-25 14:57:23 +00:00
ktrace.h Fix typo in comment. 2005-12-26 22:09:09 +00:00
libkern.h Rewrite kern_sendfile() to work in two loops, the inner which turns as many 2006-11-02 16:53:26 +00:00
limits.h Define MQ_PRIO_MAX, it seems it is the only place 2005-12-02 07:45:28 +00:00
linedisc.h
link_aout.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
link_elf.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
linker_set.h netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
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 Add Kris Kennaway to reflect his performance improvements to 2006-11-14 07:57:19 +00:00
lock.h track lock class name in a way that doesn't break WITNESS 2006-11-13 05:41:46 +00:00
lockf.h - Fix leak of struct nlminfo on process exit. 2005-10-26 07:18:37 +00:00
lockmgr.h MUTEX_PROFILING has been generalized to LOCK_PROFILING. We now profile 2006-11-11 03:18:07 +00:00
mac_policy.h Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
mac.h Complete break-out of sys/sys/mac.h into sys/security/mac/mac_framework.h 2006-10-22 11:52:19 +00:00
malloc.h Improve memguard a bit: 2005-12-30 11:45:07 +00:00
mbpool.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
mbuf.h Use tabs instead of spaces. 2006-11-14 11:40:45 +00:00
mchain.h Remove macros 2005-09-19 08:07:18 +00:00
md4.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
md5.h Add definitions for MD5_BLOCK_LENGTH, MD5_DIGEST_LENGTH and 2006-03-15 19:47:12 +00:00
mdioctl.h Rename GEOM class kernel module g_md.ko to geom_md.ko for consistency 2005-11-11 11:31:23 +00:00
memrange.h
mman.h Namespace issues. 2005-04-02 12:33:31 +00:00
module.h Add a new module_file() function that returns the linker_file_t associated 2006-04-17 19:44:44 +00:00
mount.h Add MNT_GJOURNAL flag which indicates, that file system has gjournal 2006-10-31 21:38:51 +00:00
mouse.h Fix -Wundef. 2005-12-04 02:12:43 +00:00
mqueue.h Last step to make mq_notify conform to POSIX standard, If the process 2005-11-30 05:12:03 +00:00
msg.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
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 /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
mutex.h MUTEX_PROFILING has been generalized to LOCK_PROFILING. We now profile 2006-11-11 03:18:07 +00:00
namei.h Add AUDITVNODE[12] flags to namei(), which cause namei() to audit path 2006-02-05 15:42:01 +00:00
nlist_aout.h
param.h Bump __FreeBSD_version after UQ_KBD_IGNORE was set for Wi-Spy devices. 2006-11-30 14:29:47 +00:00
pciio.h
pcpu.h Turn console printf buffering into a kernel option and only on 2006-11-30 04:17:05 +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 /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
pmc.h Remove unused symbols. 2006-03-28 16:20:29 +00:00
pmckern.h MFP4: Support for profiling dynamically loaded objects. 2006-03-26 12:20:54 +00:00
pmclog.h Remove unused symbols. 2006-03-28 16:20:29 +00:00
poll.h
posix4.h Update #includes list. 2006-11-11 16:19:12 +00:00
power.h
priority.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
priv.h Add a new priv(9) kernel interface for checking the availability of 2006-11-06 13:37:19 +00:00
proc.h Threading cleanup.. part 2 of several. 2006-12-06 06:34:57 +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 Add members pl_sigmask and pl_siglist into ptrace_lwpinfo to get lwp's 2006-02-06 09:41:56 +00:00
queue.h Remove the non-standard and undocumented STAILQ_REMOVE_HEAD_UNTIL() 2006-10-24 11:19:21 +00:00
random.h Add a note ahea of the esource enum that if new entropy source 2004-10-12 14:55:59 +00:00
reboot.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
refcount.h Add a simple reference count API that is simply a thin wrapper API around 2005-09-27 18:01:33 +00:00
regression.h
resource.h Correct description of RLIMIT_CPU. 2005-11-16 18:18:52 +00:00
resourcevar.h Change the addupc_*() functions to use the uintfptr_t type for pc rather 2005-12-16 22:08:32 +00:00
rman.h Add a convenience function rman_init_from_resource for initializing 2006-06-12 04:06:21 +00:00
rtprio.h Threading cleanup.. part 2 of several. 2006-12-06 06:34:57 +00:00
runq.h Threading cleanup.. part 2 of several. 2006-12-06 06:34:57 +00:00
rwlock.h Include pcpu.h so that kernel is buildable w/o RWLOCK_NOINLINE option 2006-10-13 19:43:35 +00:00
sbuf.h
sched.h Threading cleanup.. part 2 of several. 2006-12-06 06:34:57 +00:00
select.h Fix FD_ISSET() on LP64 platforms. The FD_ISSET() function/macro is 2006-01-06 22:12:46 +00:00
selinfo.h Add locking to the kqueue subsystem. This also makes the kqueue subsystem 2004-08-15 06:24:42 +00:00
sem.h Remove extra forward declare of 'struct sem'. 2006-11-07 18:56:48 +00:00
sema.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
semaphore.h
serial.h o Don't make the SER_INT_* defines visible to userland. They 2006-03-30 17:24:42 +00:00
sf_buf.h Introduce two new options, "CPU private" and "no wait", to sf_buf_alloc(). 2004-11-08 00:43:46 +00:00
shm.h Change the data type of the upper shared memory limits from a signed 2005-08-06 07:20:18 +00:00
sigio.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
signal.h Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
signalvar.h Move some declaration of 32-bit signal structures into file 2006-10-05 01:56:11 +00:00
sleepqueue.h Change sleepq_add(9) argument from 'struct mtx *' to 'struct lock_object *', 2006-11-16 01:02:00 +00:00
smp.h Rename the KDB_STOP_NMI kernel option to STOP_NMI and make it apply to all 2005-10-24 21:04:19 +00:00
snoop.h Slightly change the API for the SNPSTTY ioctl so that the userland now 2005-09-18 19:23:35 +00:00
socket.h Ok, here it is, we finally add SCTP to current. Note that this 2006-11-03 15:23:16 +00:00
socketvar.h Reimplement socket buffer tear-down in sofree(): as the socket is no 2006-08-01 10:30:26 +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 Add 'depth' argument to CTRSTACK() macro, which allows to reduce number 2005-08-29 11:34:08 +00:00
stat.h Add OpenSolaris compatibility definitions for stat64 and fstat64 which 2006-08-04 23:47:30 +00:00
statvfs.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
stddef.h
stdint.h
sun_disklabel.h Support VTOC volume names. This can be useful to distinguish multiple 2005-03-30 09:33:10 +00:00
sx.h The _sx_assert() prototype should exist if either of INVARIANTS or 2006-08-29 20:36:33 +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 Fix a file descriptor race I reintroduced when I split accept1() up into 2006-07-27 19:54:41 +00:00
sysctl.h Declare security and security.bsd sysctl hierarchies in sysctl.h along 2006-09-17 20:00:36 +00:00
sysent.h Use SYS_AUE_<syscallname> to include the appropriate audit event identifier 2006-08-15 17:42:14 +00:00
syslimits.h netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
syslog.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
sysproto.h Regen (cosmetics in sys/sysproto.h). 2006-11-11 22:01:25 +00:00
systm.h Add a new priv(9) kernel interface for checking the availability of 2006-11-06 13:37:19 +00:00
taskqueue.h Add the following to the taskqueue api: 2006-01-14 01:55:24 +00:00
termios.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
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 /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
timers.h s/timer_t/int/g 2006-03-01 06:48:31 +00:00
times.h
timespec.h Implement POSIX timers. Current only CLOCK_REALTIME and CLOCK_MONOTONIC 2005-10-23 04:22:56 +00:00
timetc.h
timex.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
tree.h Add the RB_PROTOTYPE_STATIC and RB_GENERATE_STATIC macros. 2006-01-19 07:20:20 +00:00
tty.h Deorbit ttymalloc() in preference for ttyalloc() 2006-01-04 09:59:07 +00:00
ttychars.h Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43) 2006-01-10 09:19:10 +00:00
ttycom.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
ttydefaults.h Restore TTYDEF_LFLAG to set echo bits. 2004-11-03 19:16:55 +00:00
ttydev.h Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43) 2006-01-10 09:19:10 +00:00
turnstile.h Update comments to mention that each turnstile contains two queues and to 2006-04-18 18:21:38 +00:00
types.h Add some compatibility definitions for OpenSolaris source. 2006-08-04 22:54:10 +00:00
ucontext.h Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
ucred.h Use the refcount API to manage the reference count for user credentials 2005-09-27 18:09:42 +00:00
uio.h Document struct uio.h entries. 2006-11-29 19:08:45 +00:00
umtx.h if a thread blocked on userland condition variable is 2006-12-04 14:15:12 +00:00
un.h Implement unix(4) socket options LOCAL_CREDS and LOCAL_CONNWAIT. 2005-04-13 00:01:46 +00:00
unistd.h messqge queue has been implemented, set _POSIX_MESSAGE_PASSING to 200112L. 2005-12-02 02:52:17 +00:00
unpcb.h Add two new unpcb flags, UNP_BINDING and UNP_CONNECTING, which will be 2006-07-23 12:01:14 +00:00
user.h Switch to a 64bit time_t, while it's not a big problem to do so. 2006-05-15 00:17:27 +00:00
utsname.h
uuid.h Add parse_uuid() that creates a binary representation of an UUID from 2005-10-07 13:37:10 +00:00
vmmeter.h - Revert signedness type changes to "struct vmtotal"; by making 2006-11-28 12:46:02 +00:00
vnode.h change vop_lock handling to allowing tracking of callers' file and line for 2006-11-13 05:51:22 +00:00
wait.h Since union wait was removed in revision 1.17 (3 years, 5 months ago), 2005-11-10 05:00:20 +00:00
watchdog.h
xrpuio.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00