summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/qdio.h
diff options
context:
space:
mode:
authorJan Glauber <jang@linux.vnet.ibm.com>2010-02-26 21:37:37 (GMT)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-02-26 21:37:31 (GMT)
commit432ac5e04b931df8376e0858d4bf0fd41436a271 (patch)
treef8901ab07b0076f6614887fb8fe63e8b7c2cae45 /arch/s390/include/asm/qdio.h
parentd307297f73077b4dc8110eb998108ffc467e8e6c (diff)
downloadlinux-432ac5e04b931df8376e0858d4bf0fd41436a271.tar.xz
[S390] qdio: optimize cache line usage of struct qdio_irq
Remove a memset hack that relied on the internal layout of the qdio_irq struct and move the per device statistics data into an own cache line to avoid cache line bashing between the inbound and the outbound queue tasklets. Also reduce the number of allocated queues from 32 to 4 which is the current maximum. That saves a cache line in struct qdio_irq. Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/qdio.h')
-rw-r--r--arch/s390/include/asm/qdio.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/include/asm/qdio.h b/arch/s390/include/asm/qdio.h
index 79d849f..c666bfe 100644
--- a/arch/s390/include/asm/qdio.h
+++ b/arch/s390/include/asm/qdio.h
@@ -13,7 +13,8 @@
#include <asm/cio.h>
#include <asm/ccwdev.h>
-#define QDIO_MAX_QUEUES_PER_IRQ 32
+/* only use 4 queues to save some cachelines */
+#define QDIO_MAX_QUEUES_PER_IRQ 4
#define QDIO_MAX_BUFFERS_PER_Q 128
#define QDIO_MAX_BUFFERS_MASK (QDIO_MAX_BUFFERS_PER_Q - 1)
#define QDIO_MAX_ELEMENTS_PER_BUFFER 16