From: Jithu Joseph <jithu.joseph@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH v5 0/9] igc: Add support for AF_XDP zero-copy
Date: Thu, 25 Feb 2021 16:22:59 -0800 [thread overview]
Message-ID: <20210226002308.2348-1-jithu.joseph@intel.com> (raw)
Hi all,
This is the fifth version of this series which adds AF_XDP zero-copy support
to igc driver.
The only change from v4:
- igc_setup_rx_resources() - Modified to pass napi_id as a parameter
to xdp_rxq_info_reg(). Earlier we were passing 0 instead, which
implies napi_id is was unavailable/unknown.
Known issues (carried from v3):
When an XDP application is running in Tx-Only mode with Zero-Copy
enabled, it is not expected to add the frames to the fill-queue. I have
noticed the following two issues in this scenario:
- If XDP_USE_NEED_WAKEUP flag is not set by application, igc_poll()
will go into infinite loop because the buffer allocation resulting
in igc_clean_rx_irq_zc() indicating that all work is not done and NAPI
should keep polling. This does not occur if XDP_USE_NEED_WAKEUP
flag is set.
- Since there are no buffers allocated by userspace for the fill
queue, there is no memory allocated for the NIC to copy the data
to. If the packet received is destined to the hardware queue where
XDP application is running, no packets are received even on other
queues.
Both these issues can be mitigated by adding a few frames to the
fill queue. The second issue can also be mitigated by making sure no
packets are being received on the hardware queue where Rx is running.
v4 is here:
https://patchwork.ozlabs.org/project/intel-wired-lan/cover/20210222090936.6768-1-jithu.joseph at intel.com/
v3 is here:
https://patchwork.ozlabs.org/project/intel-wired-lan/cover/20210209024243.23406-1-vedang.patel at intel.com/
v2 is here:
https://patchwork.ozlabs.org/project/intel-wired-lan/cover/20201223203705.78705-1-andre.guedes at intel.com/
v1 is here:
https://patchwork.ozlabs.org/project/intel-wired-lan/cover/20201217202415.77891-1-andre.guedes at intel.com/
Andre Guedes (9):
igc: Move igc_xdp_is_enabled()
igc: Refactor __igc_xdp_run_prog()
igc: Refactor igc_clean_rx_ring()
igc: Refactor XDP rxq info registration
igc: Introduce TX/RX stats helpers
igc: Introduce igc_unmap_tx_buffer() helper
igc: Replace IGC_TX_FLAGS_XDP flag by an enum
igc: Enable RX via AF_XDP zero-copy
igc: Enable TX via AF_XDP zero-copy
drivers/net/ethernet/intel/igc/igc.h | 33 +-
drivers/net/ethernet/intel/igc/igc_base.h | 2 +
drivers/net/ethernet/intel/igc/igc_main.c | 652 ++++++++++++++++++----
drivers/net/ethernet/intel/igc/igc_xdp.c | 107 +++-
drivers/net/ethernet/intel/igc/igc_xdp.h | 8 +-
5 files changed, 675 insertions(+), 127 deletions(-)
base-commit: bae0e60bed826a21db719985ceefe1e3eb3f58e5
--
2.17.1
next reply other threads:[~2021-02-26 0:22 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-26 0:22 Jithu Joseph [this message]
2021-02-26 0:23 ` [Intel-wired-lan] [PATCH v5 1/9] igc: Move igc_xdp_is_enabled() Jithu Joseph
2021-03-18 10:17 ` Dvora Fuxbrumer
2021-02-26 0:23 ` [Intel-wired-lan] [PATCH v5 2/9] igc: Refactor __igc_xdp_run_prog() Jithu Joseph
2021-04-08 10:08 ` Dvora Fuxbrumer
2021-02-26 0:23 ` [Intel-wired-lan] [PATCH v5 3/9] igc: Refactor igc_clean_rx_ring() Jithu Joseph
2021-04-08 10:09 ` Dvora Fuxbrumer
2021-02-26 0:23 ` [Intel-wired-lan] [PATCH v5 4/9] igc: Refactor XDP rxq info registration Jithu Joseph
2021-04-08 10:10 ` Dvora Fuxbrumer
2021-02-26 0:23 ` [Intel-wired-lan] [PATCH v5 5/9] igc: Introduce TX/RX stats helpers Jithu Joseph
2021-04-08 10:11 ` Dvora Fuxbrumer
2021-02-26 0:23 ` [Intel-wired-lan] [PATCH v5 6/9] igc: Introduce igc_unmap_tx_buffer() helper Jithu Joseph
2021-04-08 10:11 ` Dvora Fuxbrumer
2021-02-26 0:23 ` [Intel-wired-lan] [PATCH v5 7/9] igc: Replace IGC_TX_FLAGS_XDP flag by an enum Jithu Joseph
2021-04-08 10:12 ` Dvora Fuxbrumer
2021-02-26 0:23 ` [Intel-wired-lan] [PATCH v5 8/9] igc: Enable RX via AF_XDP zero-copy Jithu Joseph
2021-04-08 10:13 ` Dvora Fuxbrumer
2021-02-26 0:23 ` [Intel-wired-lan] [PATCH v5 9/9] igc: Enable TX " Jithu Joseph
2021-04-08 10:13 ` Dvora Fuxbrumer
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=20210226002308.2348-1-jithu.joseph@intel.com \
--to=jithu.joseph@intel.com \
--cc=intel-wired-lan@osuosl.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