From: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
To: davem@davemloft.net, netdev@vger.kernel.org, mugunthanvnm@ti.com,
grygorii.strashko@ti.com
Cc: linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
nsekhar@ti.com, Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Subject: [PATCH v3 0/5] net: ethernet: ti: cpsw: add cpdma multi-queue support
Date: Tue, 16 Aug 2016 02:25:44 +0300 [thread overview]
Message-ID: <1471303549-4134-1-git-send-email-ivan.khoronzhuk@linaro.org> (raw)
This series is intended to allow cpsw driver to use cpdma ability of
h/w shaper to send/receive data with up to 8 tx and 8 rx queues. This
series doesn't contain interface to configure h/w shaper itself, it
contains only multi-queue support part and ability to configure number
of tx/rx queues with ethtool, it also doesn't contain mapping of input
traffic to rx queues, as it can depend on usage and requires separate
interface for setup.
Default shaper mode - priority mode. The h/w shaper configuration will
be added with separate patch series. This series doesn't affect on net
throughput.
Tested on:
am572x-idk, 1Gbps link
am335-boneblack, 100Mbps link.
A simple example for splitting traffic on queues:
#check how many queues are supported and active:
$ ethtool -l eth0
#increase number of active rx and tx queues,
#by default 1 rx and 1 tx queue
#can be set any combination of 0 < rx <= 8 and 0 < tx <= 8
$ ethtool -L eth0 rx 8 tx 8
#set multi-queue-aware queuing discipline
$ tc qdisc add dev eth0 root handle 1: multiq
#send packets with ip 172.22.39.12 to queue #5 which can be
#prioritized or throughput limited by h/w shaper.
$ tc filter add dev eth0 parent 1: protocol ip prio 1 u32 \
match ip dst 172.22.39.12 \
action skbedit queue_mapping 5
Based on: net-next/master
V1: https://lkml.org/lkml/2016/6/30/603
Since v2:
- added new patch to avoid warn while ctrl stop
net: ethernet: ti: cpsw: add ethtool channels support
- enable ctrl in case at least one interface is running
Since v1:
- removed cpdam_check_free_desc function
- remove pm_runtime calls as they are used in begin/complete ethtool calls now
- removed change of driver version. it can be done later
- corrected setup of channels for dual_emac mode with ethtool
Ivan Khoronzhuk (5):
net: ethernet: ti: davinci_cpdma: split descs num between all channels
net: ethernet: ti: davinci_cpdma: fix locking while ctrl_stop
net: ethernet: ti: cpsw: add multi queue support
net: ethernet: ti: davinci_cpdma: move cpdma channel struct macroses
to internals
net: ethernet: ti: cpsw: add ethtool channels support
drivers/net/ethernet/ti/cpsw.c | 488 +++++++++++++++++++++++++-------
drivers/net/ethernet/ti/davinci_cpdma.c | 73 ++++-
drivers/net/ethernet/ti/davinci_cpdma.h | 13 +-
drivers/net/ethernet/ti/davinci_emac.c | 8 +-
4 files changed, 459 insertions(+), 123 deletions(-)
--
1.9.1
next reply other threads:[~2016-08-15 23:26 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-15 23:25 Ivan Khoronzhuk [this message]
2016-08-15 23:25 ` [PATCH v3 1/5] net: ethernet: ti: davinci_cpdma: split descs num between all channels Ivan Khoronzhuk
2016-08-15 23:25 ` [PATCH v3 2/5] net: ethernet: ti: davinci_cpdma: fix locking while ctrl_stop Ivan Khoronzhuk
2016-08-17 5:42 ` Mugunthan V N
2016-08-17 5:42 ` Mugunthan V N
2016-08-15 23:25 ` [PATCH v3 3/5] net: ethernet: ti: cpsw: add multi queue support Ivan Khoronzhuk
2016-08-15 23:25 ` [PATCH v3 4/5] net: ethernet: ti: davinci_cpdma: move cpdma channel struct macroses to internals Ivan Khoronzhuk
2016-08-17 6:23 ` Mugunthan V N
2016-08-17 6:23 ` Mugunthan V N
2016-08-15 23:25 ` [PATCH v3 5/5] net: ethernet: ti: cpsw: add ethtool channels support Ivan Khoronzhuk
2016-08-17 6:22 ` Mugunthan V N
2016-08-17 6:22 ` Mugunthan V N
2016-08-17 7:22 ` ivan.khoronzhuk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1471303549-4134-1-git-send-email-ivan.khoronzhuk@linaro.org \
--to=ivan.khoronzhuk@linaro.org \
--cc=davem@davemloft.net \
--cc=grygorii.strashko@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=mugunthanvnm@ti.com \
--cc=netdev@vger.kernel.org \
--cc=nsekhar@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.