freebsd-skq/sys
ed 85ebf97341 Slightly improve the design of the TTY buffer.
The TTY buffers used the standard <sys/queue.h> lists. Unfortunately
they have a big shortcoming. If you want to have a double linked list,
but no tail pointer, it's still not possible to obtain the previous
element in the list. Inside the buffers we don't need them. This is why
I switched to custom linked list macros. The macros will also keep track
of the amount of items in the list. Because it doesn't use a sentinel,
we can just initialize the queues with zero.

In its simplest form (the output queue), we will only keep two
references to blocks in the queue, namely the head of the list and the
last block in use. All free blocks are stored behind the last block in
use.

I noticed there was a very subtle bug in the previous code: in a very
uncommon corner case, it would uma_zfree() a block in the queue before
calling memcpy() to extract the data from the block.
2009-02-03 19:58:28 +00:00
..
amd64 Improve robustness of NMI handling, for NMIs recognized in kernel 2009-02-03 09:01:45 +00:00
arm Add support for the StrataFlash on 2348 boards: 2009-02-03 19:16:04 +00:00
boot - Remove superfluous comment 2009-01-30 15:27:04 +00:00
bsm Merge OpenBSM alpha 5 from OpenBSM vendor branch to head, both 2009-01-14 10:44:16 +00:00
cam There is no need to initialize the variable here. 2009-01-31 17:34:55 +00:00
cddl Last step of splitting up minor and unit numbers: remove minor(). 2009-01-28 17:57:16 +00:00
compat Change some movl's to mov's. Newer GAS no longer accept 'movl' instructions 2009-01-31 11:37:21 +00:00
conf Overhaul regulatory support: 2009-01-28 18:00:22 +00:00
contrib Revert my previous two changes. 2009-01-25 16:52:41 +00:00
crypto Connect padlock(4) to amd64 build for VIA Nano processors. 2009-01-12 19:23:46 +00:00
ddb
dev Slightly improve the design of the TTY buffer. 2009-02-03 19:58:28 +00:00
fs After r186194 the *fs_strategy() functions always return 0. 2009-01-31 18:06:34 +00:00
gdb
geom In g_handleattr(), set bp->bio_completed also for the case 2009-02-03 07:07:13 +00:00
gnu - Eliminate warnings in debug print macros by explicitly converting all 2009-01-18 15:10:46 +00:00
i386 make sure that interrupts are disabled when handling page faults et al 2009-02-03 03:43:00 +00:00
ia64 Correct an error in revision 1.170 of this file. When get_pv_entry() is 2009-01-18 08:00:55 +00:00
isa Allow device hints to wire the unit numbers of devices. 2008-11-18 21:01:54 +00:00
kern Slightly improve the design of the TTY buffer. 2009-02-03 19:58:28 +00:00
kgssapi Call svc_freereq() before returning from the service proc. 2008-11-12 15:31:05 +00:00
libkern Add simple locking for the in-kernel iconv code. Translation operations 2008-12-05 21:19:24 +00:00
mips Eliminate the PMAP_INLINE macro. It isn't really used here. If we 2009-01-16 08:38:03 +00:00
modules Fix typo in last commit. 2009-01-28 11:04:27 +00:00
net Adds support for SCTP checksum offload. This means 2009-02-03 11:00:43 +00:00
net80211 when promoting an 11b channel to 11g do not accept a ``pure G'' (OFDM only) 2009-02-01 22:24:08 +00:00
netatalk Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netgraph Check for infinite recursion possible on some broken PPTP/L2TP/... VPN setups. 2009-01-20 22:26:09 +00:00
netinet - Cleanup checksum code. 2009-02-03 11:04:03 +00:00
netinet6 - Cleanup checksum code. 2009-02-03 11:04:03 +00:00
netipsec Use NULL rather than 0 when comparing pointers. 2009-01-30 20:17:08 +00:00
netipx Add missing "goto set_head" for SO_IPX_CHECKSUM; otherwise we fall through 2008-12-11 10:29:35 +00:00
netnatm Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netncp Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netsmb Implement device cloning for /dev/nsmb, the netsmb control pseudo-device. 2008-11-03 14:23:15 +00:00
nfs
nfs4client Last step of splitting up minor and unit numbers: remove minor(). 2009-01-28 17:57:16 +00:00
nfsclient Last step of splitting up minor and unit numbers: remove minor(). 2009-01-28 17:57:16 +00:00
nfsserver Last step of splitting up minor and unit numbers: remove minor(). 2009-01-28 17:57:16 +00:00
nlm Don't call svc_freereq() before svc_freeargs(). 2008-11-12 15:30:30 +00:00
opencrypto While OpenBSD's crypto/ framework has sha1 and md5 implementations that 2009-01-28 15:31:16 +00:00
pc98 MFi386: 187144 2009-01-15 11:54:31 +00:00
pccard
pci - Add support for 8110SCe part. Some magic registers were taken from 2009-01-20 20:22:28 +00:00
powerpc Add support for the I2S and davbus audio controllers found in Apple PowerPC 2009-01-25 18:20:15 +00:00
rpc Add a missing call to mtx_destroy(). 2008-11-12 12:21:18 +00:00
security Use __FBSDID() for $FreeBSD$ version strings in .c files. 2009-01-24 13:15:45 +00:00
sparc64 - Currently the PMAP code is laid out to let the kernel TSB cover the 2009-01-01 14:01:21 +00:00
sun4v Adjust the padding of struct pcpu to r187357. 2009-01-18 13:04:38 +00:00
sys Slightly improve the design of the TTY buffer. 2009-02-03 19:58:28 +00:00
tools Remove some unused and broken code that attempted to not invoke locking 2008-11-03 19:57:40 +00:00
ufs Make sure the cdev doesn't go away while the filesystem is still mounted. 2009-01-29 16:47:15 +00:00
vm - Make the keg abstraction more complete. Permit a zone to have multiple 2009-01-25 09:11:24 +00:00
xdr Use the remote address for access control, not the local address. This fixes 2008-11-13 14:36:52 +00:00
xen merge 186535, 186537, and 186538 from releng_7_xen 2008-12-29 06:31:03 +00:00
Makefile