From: Michael Chan <mchan@broadcom.com>
To: <davem@davemloft.net>
Cc: <netdev@vger.kernel.org>
Subject: [PATCH net-next 0/7] bnxt_en: Support combined and rx/tx channels.
Date: Sat, 2 Jan 2016 23:44:57 -0500 [thread overview]
Message-ID: <1451796304-23220-1-git-send-email-mchan@broadcom.com> (raw)
The bnxt hardware uses a completion ring for rx and tx events. The driver
has to process the completion ring entries sequentially for the events.
The current code only supports an rx/tx ring pair for each completion ring.
This patch series add support for using a dedicated completion ring for
rx only or tx only as an option configuarble using ethtool -L.
The benefits for using dedicated completion rings are:
1. A burst of rx packets can cause delay in processing tx events if the
completion ring is shared. If tx queue is stopped by BQL, this can cause
delay in re-starting the tx queue.
2. A completion ring is sized according to the rx and tx ring size rounded
up to the nearest power of 2. When the completion ring is shared, it is
sized by adding the rx and tx ring sizes and then rounded to the next power
of 2, often with a lot of wasted space.
3. Using dedicated completion ring, we can adjust the tx and rx coalescing
parameters independently for rx and tx.
Michael Chan (7):
bnxt_en: Refactor bnxt_dbg_dump_states().
bnxt_en: Separate bnxt_{rx|tx}_ring_info structs from bnxt_napi
struct.
bnxt_en: Check for NULL rx or tx ring.
bnxt_en: Re-structure ring indexing and mapping.
bnxt_en: Modify bnxt_get_max_rings() to support shared or non shared
rings.
bnxt_en: Modify init sequence to support shared or non shared rings.
bnxt_en: Modify ethtool -l|-L to support combined or rx/tx rings.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 439 +++++++++++++---------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 15 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 59 ++-
3 files changed, 328 insertions(+), 185 deletions(-)
--
1.8.3.1
next reply other threads:[~2016-01-03 4:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-03 4:44 Michael Chan [this message]
2016-01-03 4:44 ` [PATCH net-next 1/7] bnxt_en: Refactor bnxt_dbg_dump_states() Michael Chan
2016-01-03 4:44 ` [PATCH net-next 2/7] bnxt_en: Separate bnxt_{rx|tx}_ring_info structs from bnxt_napi struct Michael Chan
2016-01-03 4:45 ` [PATCH net-next 3/7] bnxt_en: Check for NULL rx or tx ring Michael Chan
2016-01-03 4:45 ` [PATCH net-next 4/7] bnxt_en: Re-structure ring indexing and mapping Michael Chan
2016-01-03 4:45 ` [PATCH net-next 5/7] bnxt_en: Modify bnxt_get_max_rings() to support shared or non shared rings Michael Chan
2016-01-03 4:45 ` [PATCH net-next 6/7] bnxt_en: Modify init sequence " Michael Chan
2016-01-03 4:45 ` [PATCH net-next 7/7] bnxt_en: Modify ethtool -l|-L to support combined or rx/tx rings Michael Chan
2016-01-04 20:55 ` [PATCH net-next 0/7] bnxt_en: Support combined and rx/tx channels David Miller
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=1451796304-23220-1-git-send-email-mchan@broadcom.com \
--to=mchan@broadcom.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).