Date: Mon, 13 Jun 2011 20:36:29 +0000 (UTC) From: "Justin T. Gibbs" <gibbs@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/xen/blkback blkback.c Message-ID: <201106132036.p5DKajno019294@repoman.freebsd.org>
index | next in thread | raw e-mail
gibbs 2011-06-13 20:36:29 UTC
FreeBSD src repository
Modified files:
sys/dev/xen/blkback blkback.c
Log:
SVN rev 223059 on 2011-06-13 20:36:29Z by gibbs
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
Revision Changes Path
1.9 +1452 -530 src/sys/dev/xen/blkback/blkback.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106132036.p5DKajno019294>
