]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
net: mvneta: set real interrupt per packet for tx_done
authorDmitri Epshtein <dima@marvell.com>
Wed, 6 Jul 2016 02:18:58 +0000 (04:18 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 12 Aug 2016 07:07:21 +0000 (09:07 +0200)
commit2997dfeda572f6c4f42a7be4ca2bf162c979d6b2
treef9da342f8d19a14a287da2379fb56239890aa324
parent253b40e928145dee1015b01f11df7109c8e318f6
net: mvneta: set real interrupt per packet for tx_done

BugLink: http://bugs.launchpad.net/bugs/1611833
commit 06708f81528725148473c0869d6af5f809c6824b upstream.

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 <dima@marvell.com>
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Fixes aebea2ba0f74 ("net: mvneta: fix Tx interrupt delay")
Acked-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
drivers/net/ethernet/marvell/mvneta.c