All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH v6 9/9] igc: Enable TX via AF_XDP zero-copy
Date: Thu, 20 May 2021 10:00:51 +0300	[thread overview]
Message-ID: <8df18e5f-9639-0ce7-82b9-e3f96645f2f6@linux.intel.com> (raw)
In-Reply-To: <20210423062555.14972-10-jithu.joseph@intel.com>

On 23/04/2021 09:25, Jithu Joseph wrote:
> From: Andre Guedes <andre.guedes@intel.com>
> 
> Add support for transmitting packets via AF_XDP zero-copy mechanism.
> 
> The packet transmission itself is implemented by igc_xdp_xmit_zc() which
> is called from igc_clean_tx_irq() when the ring has AF_XDP zero-copy
> enabled. Likewise i40e and ice drivers, the transmission budget used is
> the number of descriptors available on the ring.
> 
> A new tx buffer type is introduced to 'enum igc_tx_buffer_type' to
> indicate the tx buffer uses memory from xsk pool so it can be properly
> cleaned after transmission or when the ring is cleaned.
> 
> The I225 controller has only 4 Tx hardware queues so the main difference
> between igc and other Intel drivers that support AF_XDP zero-copy is
> that there is no tx ring dedicated exclusively to XDP. Instead, tx
> rings are shared between the network stack and XDP, and netdev queue
> lock is used to ensure mutual exclusion. This is the same approach
> implemented to support XDP_TX and XDP_REDIRECT actions.
> 
> Signed-off-by: Andre Guedes <andre.guedes@intel.com>
> Signed-off-by: Vedang Patel <vedang.patel@intel.com>
> Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
> Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> ---
>   drivers/net/ethernet/intel/igc/igc.h      |   3 +
>   drivers/net/ethernet/intel/igc/igc_base.h |   1 +
>   drivers/net/ethernet/intel/igc/igc_main.c | 113 +++++++++++++++++++++-
>   drivers/net/ethernet/intel/igc/igc_xdp.c  |  20 +++-
>   4 files changed, 129 insertions(+), 8 deletions(-)
> 
Tested-by: Dvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>

      reply	other threads:[~2021-05-20  7:00 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-23  6:25 [Intel-wired-lan] [PATCH v6 0/9] igc: Add support for AF_XDP zero-copy Jithu Joseph
2021-04-23  6:25 ` [Intel-wired-lan] [PATCH v6 1/9] igc: Move igc_xdp_is_enabled() Jithu Joseph
2021-05-20  6:55   ` Dvora Fuxbrumer
2021-04-23  6:25 ` [Intel-wired-lan] [PATCH v6 2/9] igc: Refactor __igc_xdp_run_prog() Jithu Joseph
2021-05-20  6:56   ` Dvora Fuxbrumer
2021-04-23  6:25 ` [Intel-wired-lan] [PATCH v6 3/9] igc: Refactor igc_clean_rx_ring() Jithu Joseph
2021-05-20  6:57   ` Dvora Fuxbrumer
2021-04-23  6:25 ` [Intel-wired-lan] [PATCH v6 4/9] igc: Refactor XDP rxq info registration Jithu Joseph
2021-05-20  6:57   ` Dvora Fuxbrumer
2021-04-23  6:25 ` [Intel-wired-lan] [PATCH v6 5/9] igc: Introduce TX/RX stats helpers Jithu Joseph
2021-05-20  6:58   ` Dvora Fuxbrumer
2021-04-23  6:25 ` [Intel-wired-lan] [PATCH v6 6/9] igc: Introduce igc_unmap_tx_buffer() helper Jithu Joseph
2021-05-20  6:58   ` Dvora Fuxbrumer
2021-04-23  6:25 ` [Intel-wired-lan] [PATCH v6 7/9] igc: Replace IGC_TX_FLAGS_XDP flag by an enum Jithu Joseph
2021-05-20  6:59   ` Dvora Fuxbrumer
2021-04-23  6:25 ` [Intel-wired-lan] [PATCH v6 8/9] igc: Enable RX via AF_XDP zero-copy Jithu Joseph
2021-05-20  7:00   ` Dvora Fuxbrumer
2021-04-23  6:25 ` [Intel-wired-lan] [PATCH v6 9/9] igc: Enable TX " Jithu Joseph
2021-05-20  7:00   ` Dvora Fuxbrumer [this message]

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=8df18e5f-9639-0ce7-82b9-e3f96645f2f6@linux.intel.com \
    --to=dvorax.fuxbrumer@linux.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 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.