diff options
author | Frank Pavlic <pavlic@de.ibm.com> | 2006-01-06 03:19:20 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 11:33:51 -0500 |
commit | 8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (patch) | |
tree | ca477e575a9098e637411332a8d354477143eff4 /include/asm-s390/qdio.h | |
parent | 05f29fcdb0c6c99484c8bea5e244fe2f4edc9337 (diff) |
[PATCH] s390: qdio V=V pass-through
New feature V=V qdio pass-through.
QDIO and HiperSockets processing in z/VM V=V guest environments (as well as
V=R with z/VM running in LPAR mode) requires shadowing of all QDIO
architecture queue elements. Especially the shadowing of SBALs and SLSBs
structures in the hypervisor, and the need to issue SIGA SYNC operations to
observe state changes, eventually causes significant CPU processing overhead
in the hypervisor.
The QDIO pass-through support for V=V guests avoids the shadowing of SBALs and
SLSBs. This significantly reduces the hypervisor overhead for QDIO based I/O.
Signed-off-by: Frank Pavlic <pavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-s390/qdio.h')
-rw-r--r-- | include/asm-s390/qdio.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/asm-s390/qdio.h b/include/asm-s390/qdio.h index 0ddf0a8ef8de..7bc15f0231db 100644 --- a/include/asm-s390/qdio.h +++ b/include/asm-s390/qdio.h | |||
@@ -195,12 +195,14 @@ struct qdr { | |||
195 | /* | 195 | /* |
196 | * queue information block (QIB) | 196 | * queue information block (QIB) |
197 | */ | 197 | */ |
198 | #define QIB_AC_INBOUND_PCI_SUPPORTED 0x80 | 198 | #define QIB_AC_INBOUND_PCI_SUPPORTED 0x80 |
199 | #define QIB_AC_OUTBOUND_PCI_SUPPORTED 0x40 | 199 | #define QIB_AC_OUTBOUND_PCI_SUPPORTED 0x40 |
200 | #define QIB_RFLAGS_ENABLE_QEBSM 0x80 | ||
201 | |||
200 | struct qib { | 202 | struct qib { |
201 | unsigned int qfmt : 8; /* queue format */ | 203 | unsigned int qfmt : 8; /* queue format */ |
202 | unsigned int pfmt : 8; /* impl. dep. parameter format */ | 204 | unsigned int pfmt : 8; /* impl. dep. parameter format */ |
203 | unsigned int res1 : 8; /* reserved */ | 205 | unsigned int rflags : 8; /* QEBSM */ |
204 | unsigned int ac : 8; /* adapter characteristics */ | 206 | unsigned int ac : 8; /* adapter characteristics */ |
205 | unsigned int res2; /* reserved */ | 207 | unsigned int res2; /* reserved */ |
206 | #ifdef QDIO_32_BIT | 208 | #ifdef QDIO_32_BIT |