All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6]: Add LRO support to ixgbe PMD
@ 2015-03-05 11:27 Vlad Zolotarov
       [not found] ` <1425554885-16901-1-git-send-email-vladz-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Vlad Zolotarov @ 2015-03-05 11:27 UTC (permalink / raw)
  To: dev-VfR2kkLFssw

This series adds the missing flow for enabling the LRO in the ethdev and
adds a support for this feature in the ixgbe PMD. There is a big hope that this
initiative is going to be picked up by some Intel developer that would add the LRO support
to other Intel PMDs. ;)
 
The series starts with some cleanup work in the code the final patch (the actual adding of
the LRO support) is going to touch/use/change. There are still quite a few issues in the ixgbe
PMD code left but they have to be a matter of a different series and I've left a few "TODO"
remarks in the code.
 
The LRO ("RSC" in Intel's context) PMD completion handling code follows the same design as the
corresponding Linux and FreeBSD implementation: pass the aggregation's cluster HEAD buffer to
the NEXTP entry of the software ring till EOP is met.
 
HW configuration follows the corresponding specs: this feature is supported only by x540 and
82599 PF devices.
 
The feature has been tested with seastar TCP stack with the following configuration on Tx side:
   - MTU: 400B
   - 100 concurrent TCP connections.
 
The results were:
   - Without LRO: total throughput: 0.12Gbps, coefficient of variance: 1.41%
   - With LRO:    total throughput: 8.21Gbps, coefficient of variance: 0.59%

This is an almost factor 80 improvement.

New in v2:
   - Removed rte_eth_dev_data.lro_bulk_alloc and added ixgbe_hw.rx_bulk_alloc_allowed
     instead.
   - Unified the rx_pkt_bulk callback setting (a separate new patch).
   - Fixed a few styling and spelling issues.

Vlad Zolotarov (6):
  ixgbe: Cleanups
  ixgbe: Bug fix: Properly configure Rx CRC stripping for x540 devices
  ixgbe: Code refactoring
  ixgbe: Unify the rx_pkt_bulk callback initialization
  common_linuxapp: Added CONFIG_RTE_ETHDEV_LRO_SUPPORT option
  ixgbe: Add LRO support

 config/common_linuxapp                  |   1 +
 lib/librte_ether/rte_ethdev.h           |   6 +-
 lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h |   1 +
 lib/librte_pmd_ixgbe/ixgbe_ethdev.c     |  22 +-
 lib/librte_pmd_ixgbe/ixgbe_ethdev.h     |   5 +
 lib/librte_pmd_ixgbe/ixgbe_rxtx.c       | 869 +++++++++++++++++++++++++++-----
 lib/librte_pmd_ixgbe/ixgbe_rxtx.h       |  26 +-
 7 files changed, 798 insertions(+), 132 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2015-03-05 20:41 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-05 11:27 [PATCH v2 0/6]: Add LRO support to ixgbe PMD Vlad Zolotarov
     [not found] ` <1425554885-16901-1-git-send-email-vladz-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-05 11:28   ` [PATCH v2 1/6] ixgbe: Cleanups Vlad Zolotarov
2015-03-05 11:28   ` [PATCH v2 2/6] ixgbe: Bug fix: Properly configure Rx CRC stripping for x540 devices Vlad Zolotarov
2015-03-05 11:28   ` [PATCH v2 3/6] ixgbe: Code refactoring Vlad Zolotarov
2015-03-05 11:28   ` [PATCH v2 4/6] ixgbe: Unify the rx_pkt_bulk callback initialization Vlad Zolotarov
2015-03-05 11:28   ` [PATCH v2 5/6] common_linuxapp: Added CONFIG_RTE_ETHDEV_LRO_SUPPORT option Vlad Zolotarov
     [not found]     ` <1425554885-16901-6-git-send-email-vladz-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-05 13:19       ` Thomas Monjalon
2015-03-05 13:39         ` Vlad Zolotarov
     [not found]           ` <54F85C8F.3010501-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-05 14:01             ` Thomas Monjalon
2015-03-05 14:18               ` Vlad Zolotarov
     [not found]                 ` <54F865C7.8030203-RmZWMc9puTNJc61us3aD9laTQe2KTcn/@public.gmane.org>
2015-03-05 19:13                   ` Thomas Monjalon
2015-03-05 20:41                     ` Vladislav Zolotarov
2015-03-05 11:28   ` [PATCH v2 6/6] ixgbe: Add LRO support Vlad Zolotarov

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.