summaryrefslogtreecommitdiff
path: root/drivers/s390/block/scm_blk.h
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.vnet.ibm.com>2014-12-05 16:43:58 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-12-08 09:42:46 +0100
commitbbc610a96524fbfa4ed38c4b1fc6348a1169f358 (patch)
treedddbd956b535c2672bfc19f4679dcffac095a77d /drivers/s390/block/scm_blk.h
parentde88d0d28fe932637eb5b7ebf9e638256cf07979 (diff)
s390/scm_block: handle multiple requests in one HW request
Handle up to 8 block layer requests per HW request. These requests can be processed in parallel on the device leading to better throughput (and less interrupts). The overhead for additional requests is small since we don't blindly allocate new aidaws but try to use what's left of the previous one. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block/scm_blk.h')
-rw-r--r--drivers/s390/block/scm_blk.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/block/scm_blk.h b/drivers/s390/block/scm_blk.h
index 6334e1609208..3dae0a3570ce 100644
--- a/drivers/s390/block/scm_blk.h
+++ b/drivers/s390/block/scm_blk.h
@@ -11,6 +11,7 @@
#include <asm/eadm.h>
#define SCM_NR_PARTS 8
+#define SCM_RQ_PER_IO 8
#define SCM_QUEUE_DELAY 5
struct scm_blk_dev {
@@ -31,7 +32,7 @@ struct scm_blk_dev {
struct scm_request {
struct scm_blk_dev *bdev;
struct aidaw *next_aidaw;
- struct request *request;
+ struct request *request[SCM_RQ_PER_IO];
struct aob *aob;
struct list_head list;
u8 retries;