NetBSD/sys
jym 54f95b1441 Deep rework of the xbdback(4) driver; it now uses a thread per instance
instead of continuations directly from shm callbacks or interrupt
handlers. The whole CPS design remains but is adapted to cope with
a thread model.

This patch allows scheduling away I/O requests of domains that behave
abnormally, or even destroy them if there is a need to (without thrashing
dom0 with lots of error messages at IPL_BIO).

I took this opportunity to make the driver MPSAFE, so multiple instances
can run concurrently. Moved from home-grown pool(9) queues to
pool_cache(9), and rework the callback mechanism so that it delegates
I/O processing to thread instead of handling it itself through the
continuation trampoline.

This one fixes the potential DoS many have seen in a dom0 when trying to
suspend a NetBSD domU with a corrupted I/O ring.

Benchmarks (build.sh release runs and bonnie++) do not show any
performance regression, the "new" driver is on-par with the "old" one.

ok bouyer@.
2011-11-24 01:47:18 +00:00
..
altq First step of random number subsystem rework described in 2011-11-19 22:51:18 +00:00
arch Deep rework of the xbdback(4) driver; it now uses a thread per instance 2011-11-24 01:47:18 +00:00
coda use CODA_MAXNAMLEN instead of bogus MAXNAMLEN 2011-09-27 00:54:47 +00:00
common Move pai to end of struct pmap. 2011-10-13 19:50:39 +00:00
compat Adjust setup_linux_rt_sigframe/setup_linux_sigframe prototypes. 2011-11-21 22:00:42 +00:00
conf The rnd pseudo-device is not really optional, because it is in the same 2011-11-22 21:25:05 +00:00
crypto NIST_CTR_DRBG.V is accessed as (unsigned long *) so we need to make sure 2011-11-21 23:48:52 +00:00
ddb set panicstr to "reboot forced via kernel debugger" when rebooting 2011-11-13 03:21:51 +00:00
dev splaudio is no more 2011-11-24 01:11:04 +00:00
dist First step of random number subsystem rework described in 2011-11-19 22:51:18 +00:00
external have pci register itself as a module, and make PCI driver modules depend on it 2011-08-29 14:47:07 +00:00
fs Use hashinit() / hashdone() to create the union node hash list. 2011-11-23 19:39:11 +00:00
gdbscripts a macro to dump kernel modules 2011-11-02 16:51:21 +00:00
ipkdb
kern - fixed signed/unsigned comparison 2011-11-24 01:45:39 +00:00
lib make it compile without DIAGNOSTIC defined 2011-11-20 15:37:31 +00:00
miscfs typo in a comment 2011-10-31 12:49:32 +00:00
modules Build and install new in-kernel iscsi initiator kernel module and associated 2011-11-15 16:50:43 +00:00
net Fix build failed. Include if_inarp.h. 2011-11-20 12:15:38 +00:00
net80211 First step of random number subsystem rework described in 2011-11-19 22:51:18 +00:00
netatalk Use if_addr_init() instead of ifp->if_ioctl(). 2011-10-19 01:50:27 +00:00
netbt const lookup argument 2011-09-17 08:23:36 +00:00
netinet First step of random number subsystem rework described in 2011-11-19 22:51:18 +00:00
netinet6 First step of random number subsystem rework described in 2011-11-19 22:51:18 +00:00
netipsec NULL does not need a cast 2011-08-31 18:31:02 +00:00
netisdn
netiso Use if_addr_init() and if_mcast_op() instead of ifp->if_ioctl(). 2011-10-19 01:52:22 +00:00
netkey First step of random number subsystem rework described in 2011-11-19 22:51:18 +00:00
netmpls
netnatm
netsmb rename SMBFS_MAXFNAMELEN to SMBFS_MAXNAMLEN for consistency 2011-09-27 02:05:10 +00:00
nfs nfsrv_lookup(): Defer the postopattr lookup on dirp until the 2011-11-21 09:07:59 +00:00
opencrypto First step of random number subsystem rework described in 2011-11-19 22:51:18 +00:00
rump No need to include MD <machine/cpu_counter.h> here. 2011-11-21 13:42:37 +00:00
secmodel Load entropy at system boot (only works at securelevel < 1); save 2011-11-23 10:47:48 +00:00
stand use NAME_MAX instead of MAXNAMLEN 2011-09-27 01:08:55 +00:00
sys Merge jmcneill-audiomp3 branch, which is derived from ad-audiomp2. From 2011-11-23 23:07:28 +00:00
ufs If ufs_balloc_range() fails, make sure to call ?fs_truncate() to 2011-11-23 19:42:10 +00:00
uvm When allocating a page for a kernel stack and PMAP_ALLOC_POOLPAGE is 2011-11-23 01:07:50 +00:00
Makefile