From patchwork Mon Jan 21 12:30:23 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [6/6] qeth: Fix HiperSockets performance regression Date: Mon, 21 Jan 2013 02:30:23 -0000 From: frank.blaschka@de.ibm.com X-Patchwork-Id: 214136 Message-Id: <20130121123037.755818924@de.ibm.com> To: davem@davemloft.net Cc: netdev@vger.kernel.org, linux-s390@vger.kernel.org, Stefan Raspl From: Stefan Raspl Commit 46d3ceab "tcp: TCP Small Queues" has severly degraded performance for single connection RR workloads on HiperSockets with MTU >=16K due to a conflict of the TCP Small Queues approach with our buffer scan threshold which releases buffers not frequently enough yet. This fix restores performance to the same level as before cited commit. Signed-off-by: Stefan Raspl Signed-off-by: Frank Blaschka --- drivers/s390/net/qeth_core_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -4700,7 +4700,7 @@ static int qeth_qdio_establish(struct qe init_data.output_sbal_addr_array = (void **) out_sbal_ptrs; init_data.output_sbal_state_array = card->qdio.out_bufstates; init_data.scan_threshold = - (card->info.type == QETH_CARD_TYPE_IQD) ? 8 : 32; + (card->info.type == QETH_CARD_TYPE_IQD) ? 1 : 32; if (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_ALLOCATED, QETH_QDIO_ESTABLISHED) == QETH_QDIO_ALLOCATED) {