summaryrefslogtreecommitdiffstats
path: root/bin/sh/eval.h
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>2011-06-13 20:36:29 +0000
committergibbs <gibbs@FreeBSD.org>2011-06-13 20:36:29 +0000
commit83fe27f2b389dab3f912243ac3e6a6b726ebed3a (patch)
treed000e0e77c02154dfbc5f3a048efe3b16aea1b27 /bin/sh/eval.h
parentde6beedcc38bdceafee3f977389984609e22ff4c (diff)
downloadFreeBSD-src-83fe27f2b389dab3f912243ac3e6a6b726ebed3a.zip
FreeBSD-src-83fe27f2b389dab3f912243ac3e6a6b726ebed3a.tar.gz
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
Diffstat (limited to 'bin/sh/eval.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud