diff options
author | Jan Glauber <jang@linux.vnet.ibm.com> | 2011-01-05 06:47:51 -0500 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2011-01-05 06:47:28 -0500 |
commit | 0195843bfda90a215f3b72c9aac2fd0bc9244b67 (patch) | |
tree | c5767e7797814d0e76ea6d064d2c6fac088b25e8 /drivers/s390/cio | |
parent | 3d6c76ff32bb9b2ebf6e859855d315eb42e3df50 (diff) |
[S390] qdio: outbound queue full counter
Add a counter for outbound queue full events to the qdio statistics.
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio')
-rw-r--r-- | drivers/s390/cio/qdio.h | 1 | ||||
-rw-r--r-- | drivers/s390/cio/qdio_debug.c | 1 | ||||
-rw-r--r-- | drivers/s390/cio/qdio_main.c | 3 |
3 files changed, 5 insertions, 0 deletions
diff --git a/drivers/s390/cio/qdio.h b/drivers/s390/cio/qdio.h index a77aa9109cfd..40ca0b9241e5 100644 --- a/drivers/s390/cio/qdio.h +++ b/drivers/s390/cio/qdio.h | |||
@@ -202,6 +202,7 @@ struct qdio_dev_perf_stat { | |||
202 | unsigned int inbound_queue_full; | 202 | unsigned int inbound_queue_full; |
203 | unsigned int outbound_call; | 203 | unsigned int outbound_call; |
204 | unsigned int outbound_handler; | 204 | unsigned int outbound_handler; |
205 | unsigned int outbound_queue_full; | ||
205 | unsigned int fast_requeue; | 206 | unsigned int fast_requeue; |
206 | unsigned int target_full; | 207 | unsigned int target_full; |
207 | unsigned int eqbs; | 208 | unsigned int eqbs; |
diff --git a/drivers/s390/cio/qdio_debug.c b/drivers/s390/cio/qdio_debug.c index 28868e7471a5..f8b03a636e49 100644 --- a/drivers/s390/cio/qdio_debug.c +++ b/drivers/s390/cio/qdio_debug.c | |||
@@ -151,6 +151,7 @@ static char *qperf_names[] = { | |||
151 | "Inbound queue full", | 151 | "Inbound queue full", |
152 | "Outbound calls", | 152 | "Outbound calls", |
153 | "Outbound handler", | 153 | "Outbound handler", |
154 | "Outbound queue full", | ||
154 | "Outbound fast_requeue", | 155 | "Outbound fast_requeue", |
155 | "Outbound target_full", | 156 | "Outbound target_full", |
156 | "QEBSM eqbs", | 157 | "QEBSM eqbs", |
diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c index 4c0109900c74..af86875bede4 100644 --- a/drivers/s390/cio/qdio_main.c +++ b/drivers/s390/cio/qdio_main.c | |||
@@ -1447,6 +1447,9 @@ static int handle_outbound(struct qdio_q *q, unsigned int callflags, | |||
1447 | used = atomic_add_return(count, &q->nr_buf_used); | 1447 | used = atomic_add_return(count, &q->nr_buf_used); |
1448 | BUG_ON(used > QDIO_MAX_BUFFERS_PER_Q); | 1448 | BUG_ON(used > QDIO_MAX_BUFFERS_PER_Q); |
1449 | 1449 | ||
1450 | if (used == QDIO_MAX_BUFFERS_PER_Q) | ||
1451 | qperf_inc(q, outbound_queue_full); | ||
1452 | |||
1450 | if (callflags & QDIO_FLAG_PCI_OUT) { | 1453 | if (callflags & QDIO_FLAG_PCI_OUT) { |
1451 | q->u.out.pci_out_enabled = 1; | 1454 | q->u.out.pci_out_enabled = 1; |
1452 | qperf_inc(q, pci_request_int); | 1455 | qperf_inc(q, pci_request_int); |