freebsd-dev/sys/dev/xen
Justin T. Gibbs 8a8a3387fd Several enhancements to the Xen block back driver.
sys/dev/xen/blkback/blkback.c:
	o Implement front-end request coalescing.  This greatly improves the
	  performance of front-end clients that are unaware of the dynamic
	  request-size/number of requests negotiation available in the
	  FreeBSD backend driver.  This required a large restructuring
	  in how this driver records in-flight transactions and how those
	  transactions are mapped into kernel KVA.  For example, the driver
	  now includes a mini "KVA manager" that allocates ranges of
	  contiguous KVA to patches of requests that are physically
	  contiguous in the backing store so that a single bio or UIO
	  segment can be used to represent the I/O.

	o Refuse to open any backend files or devices if the system
	  has yet to mount root.  This avoids a panic.

	o Properly handle "onlined" devices.  An "onlined" backend
	  device stays attached to its backing store across front-end
	  disconnections.  This feature is intended to reduce latency
	  when a front-end does a hand-off to another driver (e.g.
	  PV aware bootloader to OS kernel) or during a VM reboot.

	o Harden the driver against a pathological/buggy front-end
	  by carefully vetting front-end XenStore data such as the
	  front-end state.

	o Add sysctls that report the negotiated number of
	  segments per-request and the number of requests that
	  can be concurrently in flight.

Submitted by:	kdm
Reviewed by:	gibbs
Sponsored by:	Spectra Logic Corporation
MFC after:	1 week
2011-06-13 20:36:29 +00:00
..
balloon Fix msleep() usage in Xen balloon driver to not wake up on every HZ tick. 2011-05-13 03:40:16 +00:00
blkback Several enhancements to the Xen block back driver. 2011-06-13 20:36:29 +00:00
blkfront Monitor and emit events for XenStore changes to XenBus trees 2011-06-11 04:59:01 +00:00
console A lack of console input is not the same thing as a byte of \0 input. 2010-12-29 05:13:21 +00:00
control Monitor and emit events for XenStore changes to XenBus trees 2011-06-11 04:59:01 +00:00
evtchn merge 186535, 186537, and 186538 from releng_7_xen 2008-12-29 06:31:03 +00:00
netback Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier. 2011-01-19 00:57:58 +00:00
netfront Monitor and emit events for XenStore changes to XenBus trees 2011-06-11 04:59:01 +00:00
pcifront
xenpci Make "options XENHVM" compile for i386, not just amd64 -- a largely 2011-01-04 14:49:54 +00:00