diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2014-06-27 17:07:47 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-07-22 09:26:14 +0200 |
commit | 6d284bde2beef9d4d067281b08f86554f41de799 (patch) | |
tree | 435d84e5fa08b849fc31112884d54afad6e64de2 /drivers/s390/net/qeth_core.h | |
parent | 4601ba6c92b000dcda37c9d74587e3b88374c00c (diff) | |
download | op-kernel-dev-6d284bde2beef9d4d067281b08f86554f41de799.zip op-kernel-dev-6d284bde2beef9d4d067281b08f86554f41de799.tar.gz |
s390/qeth: extract qdio buffers from input buffer struct
Because of the embedded qdio_buffer array struct qeth_qdio_q is quite
large resulting in an order 4 allocation. This is likely to fail at
runtime and wastes a lot of memory since the actual size is just
about 36K.
Since there is no need for this buffer to be contiguous split it up
using qdio buffer helpers.
Reported-by: Neale Ferguson <neale@sinenomine.net>
Reviewed-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/net/qeth_core.h')
-rw-r--r-- | drivers/s390/net/qeth_core.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h index a2088af..4f9a318 100644 --- a/drivers/s390/net/qeth_core.h +++ b/drivers/s390/net/qeth_core.h @@ -439,10 +439,10 @@ struct qeth_qdio_buffer { }; struct qeth_qdio_q { - struct qdio_buffer qdio_bufs[QDIO_MAX_BUFFERS_PER_Q]; + struct qdio_buffer *qdio_bufs[QDIO_MAX_BUFFERS_PER_Q]; struct qeth_qdio_buffer bufs[QDIO_MAX_BUFFERS_PER_Q]; int next_buf_to_init; -} __attribute__ ((aligned(256))); +}; struct qeth_qdio_out_buffer { struct qdio_buffer *buffer; |