From patchwork Wed Jul 6 02:18:58 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Wojtas X-Patchwork-Id: 645056 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3rkksG0DnPz9sD5 for ; Wed, 6 Jul 2016 12:16:50 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=semihalf-com.20150623.gappssmtp.com header.i=@semihalf-com.20150623.gappssmtp.com header.b=ZbWjwDNF; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751843AbcGFCQ2 (ORCPT ); Tue, 5 Jul 2016 22:16:28 -0400 Received: from mail-lf0-f43.google.com ([209.85.215.43]:34070 "EHLO mail-lf0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751076AbcGFCQ0 (ORCPT ); Tue, 5 Jul 2016 22:16:26 -0400 Received: by mail-lf0-f43.google.com with SMTP id h129so146055092lfh.1 for ; Tue, 05 Jul 2016 19:16:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=/0kyohtg5EuOacYeO28iJ2GOHY0JyE+a0Ynh4lYmXfo=; b=ZbWjwDNFuG8abY+ByrBudbHSItMta9Pdv5585jM3Iq9k0zG9XjvXriv4uMHUVCzz9D 2C+23/xcG2u+wHKwh3+8TMIZ89RDga8F+Hld3YVCv+gUeGDebTqVb4VkAUZwRAjN+/Iv OPTwQaz6+ofs2pg52vErPqlN3ZQeNEU6fLmucx1HA7wS5Yr0KnHR3GqX1hQoW83CkM2b Hnd3G5hn/FL/3l8zU4vubsH5sDzSPqdFtZfK1Ka8R5Fm9CzBZrKob5qyzldtt0+GFYC8 +RFgUmnOuhFQ+sLZjS2fE7rRTN7HOOGn5rdaSv9JDpnpBEYGbDETWygLO0xa8rYgjNo5 2cDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=/0kyohtg5EuOacYeO28iJ2GOHY0JyE+a0Ynh4lYmXfo=; b=mpeGKDgE9sCX6v5ei4iQ/rRBPar2pnEAmwGDCQc7EvyetR2EJ6yLdz8+Po2ecA9Olv W1pCXa8ByGKdt13mhVPwX+PJukks1OYcOuVNKtOHoh6nuRwtYjbcDvSn8TTQC8J5F3D7 BzMtIYsbwepJkbe8ONcRkDbXdQZG3ZBu3UQ2GMDYGVz4KDLAidHZVro4vRy1O3WTyAmi m33s1REJ3b3hKpA6VGShVfv/axOuXxBPpzPxeabUkv/CpMowT2l+Q6tmRfypsBg2NajW hZq5GzxwAyvHFtfFiZ1meXt+QPA0WsGLTl7d3jdiiqTn8jMypr4mkOeBVUNl6XwPkLS0 FADQ== X-Gm-Message-State: ALyK8tL7PaGSbMwpDTsJSND1Wie/6178SINjneIsCld7OGtVQsIoZMvnXjXnDyWdT5H/rw== X-Received: by 10.25.41.65 with SMTP id p62mr6077015lfp.7.1467771384923; Tue, 05 Jul 2016 19:16:24 -0700 (PDT) Received: from enkidu.semihalf.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id n72sm5974652lfi.39.2016.07.05.19.16.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Jul 2016 19:16:24 -0700 (PDT) From: Marcin Wojtas To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org Cc: davem@davemloft.net, linux@arm.linux.org.uk, sebastian.hesselbarth@gmail.com, andrew@lunn.ch, jason@lakedaemon.net, thomas.petazzoni@free-electrons.com, gregory.clement@free-electrons.com, nadavh@marvell.com, alior@marvell.com, nitroshift@yahoo.com, mw@semihalf.com, jaz@semihalf.com, Dmitri Epshtein , Subject: [PATCH net] net: mvneta: set real interrupt per packet for tx_done Date: Wed, 6 Jul 2016 04:18:58 +0200 Message-Id: <1467771538-31811-1-git-send-email-mw@semihalf.com> X-Mailer: git-send-email 1.8.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Dmitri Epshtein Commit aebea2ba0f74 ("net: mvneta: fix Tx interrupt delay") intended to set coalescing threshold to a value guaranteeing interrupt generation per each sent packet, so that buffers can be released with no delay. In fact setting threshold to '1' was wrong, because it causes interrupt every two packets. According to the documentation a reason behind it is following - interrupt occurs once sent buffers counter reaches a value, which is higher than one specified in MVNETA_TXQ_SIZE_REG(q). This behavior was confirmed during tests. Also when testing the SoC working as a NAS device, better performance was observed with int-per-packet, as it strongly depends on the fact that all transmitted packets are released immediately. This commit enables NETA controller work in interrupt per sent packet mode by setting coalescing threshold to 0. Signed-off-by: Dmitri Epshtein Signed-off-by: Marcin Wojtas Cc: # v3.10+ Fixes aebea2ba0f74 ("net: mvneta: fix Tx interrupt delay") Acked-by: Willy Tarreau --- drivers/net/ethernet/marvell/mvneta.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index cf04c97..0ad2fa3 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c @@ -244,7 +244,7 @@ /* Various constants */ /* Coalescing */ -#define MVNETA_TXDONE_COAL_PKTS 1 +#define MVNETA_TXDONE_COAL_PKTS 0 /* interrupt per packet */ #define MVNETA_RX_COAL_PKTS 32 #define MVNETA_RX_COAL_USEC 100