summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/clang/lib/Frontend/LayoutOverrideSource.cpp
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>2013-06-15 04:51:31 +0000
committergibbs <gibbs@FreeBSD.org>2013-06-15 04:51:31 +0000
commit90080fdf0774fdb0967bc134795d58ec414cdde8 (patch)
treec8cb5bb46a6e32f6e01cc513f9f43446bbe9321a /contrib/llvm/tools/clang/lib/Frontend/LayoutOverrideSource.cpp
parent1cc3945aab7344fd42fc1c9df8dec4aa5eda45ef (diff)
downloadFreeBSD-src-90080fdf0774fdb0967bc134795d58ec414cdde8.zip
FreeBSD-src-90080fdf0774fdb0967bc134795d58ec414cdde8.tar.gz
Properly track the different reasons new I/O is temporarily disabled, and
only re-enable I/O when all reasons have cleared. sys/dev/xen/blkfront/block.h: In the block front driver softc, replace the boolean XBDF_FROZEN flag with a count of commands and driver global issues that freeze the I/O queue. So long xbd_qfrozen_cnt is non-zero, I/O is halted. Add flags to xbd_flags for tracking grant table entry and free command resource shortages. Each of these classes can increment xbd_qfrozen_cnt at most once. Add a command flag (XBDCF_ASYNC_MAPPING) that is set whenever the initial mapping attempt of a command fails with EINPROGRESS. sys/dev/xen/blkfront/blkfront.c: In xbd_queue_cb(), use new XBDCF_ASYNC_MAPPING flag to definitively know if an async bus dmamap load has occurred. Add xbd_freeze() and xbd_thaw() helper methods for managing xbd_qfrozen_cnt and use them to implement all queue freezing logic. Add missing "thaw" to restart I/O processing once grant references become available. Sponsored by: Spectra Logic Corporation
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Frontend/LayoutOverrideSource.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud