From: Amritha Nambiar <amritha.nambiar@intel.com> To: intel-wired-lan@lists.osuosl.org Cc: alexander.h.duyck@intel.com, kiran.patil@intel.com, amritha.nambiar@intel.com, sridhar.samudrala@intel.com, mitch.a.williams@intel.com, neerav.parikh@intel.com, jeffrey.t.kirsher@intel.com, netdev@vger.kernel.org Subject: [PATCH 0/4] Configuring traffic classes via new hardware offload mechanism in tc/mqprio Date: Fri, 19 May 2017 17:58:17 -0700 [thread overview] Message-ID: <149524122523.11022.4541073724650541658.stgit@anamdev.jf.intel.com> (raw) The following series introduces a new harware offload mode in tc/mqprio where the TCs, the queue configurations and bandwidth rate limits are offloaded to the hardware. The i40e driver enables the new mqprio hardware offload mechanism factoring the TCs, queue configuration and bandwidth rates by creating HW channel VSIs. In this mode, the priority to traffic class mapping and the user specified queue ranges are used to configure the traffic class when the 'hw' option is set to 2. This is achieved by creating HW channels(VSI). A new channel is created for each of the traffic class configuration offloaded via mqprio framework except for the first TC (TC0) which is for the main VSI. TC0 for the main VSI is also reconfigured as per user provided queue parameters. Finally, bandwidth rate limits are set on these traffic classes through the mqprio offload framework by sending these rates in addition to the number of TCs and the queue configurations. Example: # tc qdisc add dev eth0 root mqprio num_tc 2 map 0 0 0 0 1 1 1 1\ queues 4@0 4@4 min_rate 0Mbit 0Mbit max_rate 55Mbit 60Mbit hw 2 To dump the bandwidth rates: # tc qdisc show dev eth0 qdisc mqprio 804a: root tc 2 map 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 queues:(0:3) (4:7) min rates:0bit 0bit max rates:55Mbit 60Mbit --- Amritha Nambiar (4): [next-queue]net: mqprio: Introduce new hardware offload mode in mqprio for offloading full TC configurations [next-queue]net: i40e: Add infrastructure for queue channel support with the TCs and queue configurations offloaded via mqprio scheduler [next-queue]net: i40e: Enable mqprio full offload mode in the i40e driver for configuring TCs and queue mapping [next-queue]net: i40e: Add support to set max bandwidth rates for TCs offloaded via tc/mqprio drivers/net/ethernet/intel/i40e/i40e.h | 42 + drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 6 drivers/net/ethernet/intel/i40e/i40e_main.c | 1365 +++++++++++++++++++++--- drivers/net/ethernet/intel/i40e/i40e_txrx.h | 2 include/linux/netdevice.h | 2 include/net/pkt_cls.h | 7 include/uapi/linux/pkt_sched.h | 13 net/sched/sch_mqprio.c | 169 +++ 8 files changed, 1449 insertions(+), 157 deletions(-)
WARNING: multiple messages have this Message-ID (diff)
From: Amritha Nambiar <amritha.nambiar@intel.com> To: intel-wired-lan@osuosl.org Subject: [Intel-wired-lan] [PATCH 0/4] Configuring traffic classes via new hardware offload mechanism in tc/mqprio Date: Fri, 19 May 2017 17:58:17 -0700 [thread overview] Message-ID: <149524122523.11022.4541073724650541658.stgit@anamdev.jf.intel.com> (raw) The following series introduces a new harware offload mode in tc/mqprio where the TCs, the queue configurations and bandwidth rate limits are offloaded to the hardware. The i40e driver enables the new mqprio hardware offload mechanism factoring the TCs, queue configuration and bandwidth rates by creating HW channel VSIs. In this mode, the priority to traffic class mapping and the user specified queue ranges are used to configure the traffic class when the 'hw' option is set to 2. This is achieved by creating HW channels(VSI). A new channel is created for each of the traffic class configuration offloaded via mqprio framework except for the first TC (TC0) which is for the main VSI. TC0 for the main VSI is also reconfigured as per user provided queue parameters. Finally, bandwidth rate limits are set on these traffic classes through the mqprio offload framework by sending these rates in addition to the number of TCs and the queue configurations. Example: # tc qdisc add dev eth0 root mqprio num_tc 2 map 0 0 0 0 1 1 1 1\ queues 4 at 0 4 at 4 min_rate 0Mbit 0Mbit max_rate 55Mbit 60Mbit hw 2 To dump the bandwidth rates: # tc qdisc show dev eth0 qdisc mqprio 804a: root tc 2 map 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 queues:(0:3) (4:7) min rates:0bit 0bit max rates:55Mbit 60Mbit --- Amritha Nambiar (4): [next-queue]net: mqprio: Introduce new hardware offload mode in mqprio for offloading full TC configurations [next-queue]net: i40e: Add infrastructure for queue channel support with the TCs and queue configurations offloaded via mqprio scheduler [next-queue]net: i40e: Enable mqprio full offload mode in the i40e driver for configuring TCs and queue mapping [next-queue]net: i40e: Add support to set max bandwidth rates for TCs offloaded via tc/mqprio drivers/net/ethernet/intel/i40e/i40e.h | 42 + drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 6 drivers/net/ethernet/intel/i40e/i40e_main.c | 1365 +++++++++++++++++++++--- drivers/net/ethernet/intel/i40e/i40e_txrx.h | 2 include/linux/netdevice.h | 2 include/net/pkt_cls.h | 7 include/uapi/linux/pkt_sched.h | 13 net/sched/sch_mqprio.c | 169 +++ 8 files changed, 1449 insertions(+), 157 deletions(-) --
next reply other threads:[~2017-05-19 20:28 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-05-20 0:58 Amritha Nambiar [this message] 2017-05-20 0:58 ` [Intel-wired-lan] [PATCH 0/4] Configuring traffic classes via new hardware offload mechanism in tc/mqprio Amritha Nambiar 2017-05-19 22:30 ` John Fastabend 2017-05-19 22:30 ` John Fastabend 2017-05-20 0:58 ` [PATCH 1/4] [next-queue]net: mqprio: Introduce new hardware offload mode in mqprio for offloading full TC configurations Amritha Nambiar 2017-05-20 0:58 ` [Intel-wired-lan] " Amritha Nambiar 2017-05-24 21:59 ` Alexander Duyck 2017-05-24 21:59 ` Alexander Duyck 2017-05-20 0:58 ` [PATCH 2/4] [next-queue]net: i40e: Add infrastructure for queue channel support with the TCs and queue configurations offloaded via mqprio scheduler Amritha Nambiar 2017-05-20 0:58 ` [Intel-wired-lan] " Amritha Nambiar 2017-05-24 21:45 ` Alexander Duyck 2017-05-24 21:45 ` Alexander Duyck 2017-05-24 22:03 ` Patil, Kiran 2017-05-20 0:58 ` [PATCH 3/4] [next-queue]net: i40e: Enable mqprio full offload mode in the i40e driver for configuring TCs and queue mapping Amritha Nambiar 2017-05-20 0:58 ` [Intel-wired-lan] " Amritha Nambiar 2017-05-24 22:05 ` Alexander Duyck 2017-05-24 22:05 ` Alexander Duyck 2017-05-20 0:58 ` [PATCH 4/4] [next-queue]net: i40e: Add support to set max bandwidth rates for TCs offloaded via tc/mqprio Amritha Nambiar 2017-05-20 0:58 ` [Intel-wired-lan] " Amritha Nambiar 2017-05-20 21:15 ` [PATCH 0/4] Configuring traffic classes via new hardware offload mechanism in tc/mqprio Or Gerlitz 2017-05-20 21:15 ` [Intel-wired-lan] " Or Gerlitz 2017-05-21 22:35 ` Alexander Duyck 2017-05-21 22:35 ` Alexander Duyck 2017-05-22 3:25 ` Or Gerlitz 2017-05-22 3:25 ` Or Gerlitz 2017-05-22 16:40 ` Duyck, Alexander H 2017-05-22 16:40 ` Duyck, Alexander H 2017-05-22 19:31 ` Jeff Kirsher 2017-05-22 19:31 ` [Intel-wired-lan] " Jeff Kirsher 2017-07-21 9:42 ` Richard Cochran 2017-07-21 9:42 ` [Intel-wired-lan] " Richard Cochran 2017-07-26 18:18 ` Nambiar, Amritha 2017-07-26 18:18 ` [Intel-wired-lan] " Nambiar, Amritha
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=149524122523.11022.4541073724650541658.stgit@anamdev.jf.intel.com \ --to=amritha.nambiar@intel.com \ --cc=alexander.h.duyck@intel.com \ --cc=intel-wired-lan@lists.osuosl.org \ --cc=jeffrey.t.kirsher@intel.com \ --cc=kiran.patil@intel.com \ --cc=mitch.a.williams@intel.com \ --cc=neerav.parikh@intel.com \ --cc=netdev@vger.kernel.org \ --cc=sridhar.samudrala@intel.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: linkBe 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.