All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: Olivier Matz <olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [PATCH RFC 00/11] ixgbe/mbuf: add TSO support
Date: Mon, 19 May 2014 14:47:06 +0200	[thread overview]
Message-ID: <1546716.3aIeLKqHAb@xps13> (raw)
In-Reply-To: <1399647038-15095-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>

2014-05-09 16:50, Olivier Matz:
> This series add TSO support in ixgbe DPDK driver. As discussed
> previously on the list [1], one problem is that there is not enough room
> in rte_mbuf today to store the required information to implement this
> feature:
>   - a new ol_flag
>   - the MSS
>   - the L4 header len
> 
> A solution would be to increase the size of the mbuf to 2 cache lines
> but it could have a bad impact on performance. This series proposes some
> rework to drastically reduce the size of the rte_mbuf structures before
> implementing the TSO, avoiding to change the mbuf size to 128 bytes.
> 
> After the rework of mbuf structures, the size of rte_mbuf structure is
> reduced by 9 bytes. The implementation of TSO requires to double the
> size of ol_flags (16 to 32 bits) and to double the size of offload
> information in order to add the mss and the l4 header length (32 to 64
> bits). At the end of the whole series, sizeof(rte_mbuf) is still 64
> bytes and 4 bytes are available for future use.
> 
> This rework causes a lot of modifications in the mbuf structure,
> implying some changes in the applications that directly use the mbuf
> structure fields instead of using the API functions (sometimes there is
> no function). That's why this series is a RFC. In my opinion, it's the
> proper moment for this evolution as the 1.7.0 window is open.
> 
> About TSO, the new fields in mbuf try to be generic enough to apply to
> other hardware in the future. To delegate the TCP segmentation to the
> hardware, the user has to:
> 
>   - set the PKT_TX_TCP_SEG flag in mbuf->ol_flags (this flag implies
>     PKT_TX_IP_CKSUM and PKT_TX_TCP_CKSUM)
>   - fill the mbuf->hw_offload information: l2_len, l3_len, l4_len, mss
>   - calculate the pseudo header checksum and set it in the TCP header,
>     as required when doing hardware TCP checksum offload
>   - set the IP checksum to 0

This patchset triggers a lot of interesting discussions about mbuf API, TSO 
and performance impacts.
It seems everybody agree that having TSO support is a nice improvement and 
there are some discussions on how it can be even better.
I feel we need a v2 from Olivier in order to allow us sending improvements 
patches on top of it.

Thanks everyone
-- 
Thomas

      parent reply	other threads:[~2014-05-19 12:47 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-09 14:50 [PATCH RFC 00/11] ixgbe/mbuf: add TSO support Olivier Matz
     [not found] ` <1399647038-15095-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-09 14:50   ` [PATCH RFC 01/11] igb/ixgbe: fix IP checksum calculation Olivier Matz
     [not found]     ` <1399647038-15095-2-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-15 10:40       ` Ananyev, Konstantin
2014-05-09 14:50   ` [PATCH RFC 02/11] mbuf: rename RTE_MBUF_SCATTER_GATHER into RTE_MBUF_REFCNT Olivier Matz
2014-05-09 14:50   ` [PATCH RFC 03/11] mbuf: remove rte_ctrlmbuf Olivier Matz
     [not found]     ` <1399647038-15095-4-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-25 21:39       ` Gilmore, Walter E
     [not found]         ` <DC16335EE7FE114791FFF955B21EDB44940EF02A-P5GAC/sN6hlqS6EAlXoojrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-26 12:23           ` Olivier MATZ
2014-05-26 16:40           ` Dumitrescu, Cristian
2014-05-26 22:43           ` Neil Horman
2014-05-27  0:17       ` Stephen Hemminger
     [not found]         ` <20140526171701.7bd0fadd-We1ePj4FEcvRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org>
2014-05-28  9:45           ` Ananyev, Konstantin
2014-05-09 14:50   ` [PATCH RFC 04/11] mbuf: remove the rte_pktmbuf structure Olivier Matz
2014-05-09 14:50   ` [PATCH RFC 05/11] mbuf: merge physaddr and buf_len in a bitfield Olivier Matz
     [not found]     ` <1399647038-15095-6-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-09 15:39       ` Shaw, Jeffrey B
     [not found]         ` <4032A54B6BB5F04B8C08B6CFF08C59285542081E-AtyAts71sc9Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-09 16:06           ` Olivier MATZ
     [not found]             ` <536CFCEF.4080704-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-09 16:11               ` Shaw, Jeffrey B
     [not found]                 ` <4032A54B6BB5F04B8C08B6CFF08C59285542085B-AtyAts71sc9Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-14 14:07                   ` Ananyev, Konstantin
     [not found]                     ` <2601191342CEEE43887BDE71AB9772580EFA666D-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-15  9:53                       ` Olivier MATZ
2014-05-19  7:27                   ` Olivier MATZ
     [not found]                     ` <5379B25B.6050003-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-19  8:25                       ` Richardson, Bruce
     [not found]                         ` <59AF69C657FD0841A61C55336867B5B01AA1B1B2-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-19  9:30                           ` Olivier MATZ
     [not found]                             ` <5379CF3A.90609-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-19  9:57                               ` Richardson, Bruce
2014-05-09 14:50   ` [PATCH RFC 06/11] mbuf: replace data pointer by an offset Olivier Matz
     [not found]     ` <1399647038-15095-7-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-12 14:12       ` Thomas Monjalon
2014-05-12 14:36         ` Venkatesan, Venky
     [not found]           ` <1FD9B82B8BF2CF418D9A1000154491D9740A92B8-P5GAC/sN6hlcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-12 14:41             ` Neil Horman
     [not found]               ` <20140512144108.GB21298-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-05-12 15:07                 ` Olivier MATZ
     [not found]                   ` <5370E397.7000706-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-12 15:59                     ` Stephen Hemminger
     [not found]                       ` <20140512085924.20a29cad-We1ePj4FEcvRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org>
2014-05-12 16:13                         ` Olivier MATZ
     [not found]                           ` <5370F326.8070206-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-12 17:13                             ` Stephen Hemminger
     [not found]                               ` <20140512101316.0c0d2824-We1ePj4FEcvRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org>
2014-05-13 13:29                                 ` Olivier MATZ
2014-05-12 16:06                     ` Venkatesan, Venky
     [not found]                       ` <1FD9B82B8BF2CF418D9A1000154491D9740A9631-P5GAC/sN6hlcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-12 18:39                         ` Neil Horman
     [not found]                           ` <20140512183943.GC21298-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-05-13 13:54                             ` Venkatesan, Venky
     [not found]                               ` <1FD9B82B8BF2CF418D9A1000154491D9740AA95E-P5GAC/sN6hlcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-13 14:09                                 ` Thomas Monjalon
2014-05-09 14:50   ` [PATCH RFC 07/11] mbuf: add functions to get the name of an ol_flag Olivier Matz
2014-05-09 14:50   ` [PATCH RFC 08/11] mbuf: change ol_flags to 32 bits Olivier Matz
2014-05-09 14:50   ` [PATCH RFC 09/11] mbuf: rename vlan_macip_len in hw_offload and increase its size Olivier Matz
2014-05-09 14:50   ` [PATCH RFC 10/11] testpmd: modify source address to validate checksum calculation Olivier Matz
2014-05-09 14:50   ` [PATCH RFC 11/11] ixgbe/mbuf: add TSO support Olivier Matz
     [not found]     ` <1399647038-15095-12-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-12 14:30       ` Thomas Monjalon
2014-05-15 15:09       ` Ananyev, Konstantin
     [not found]         ` <2601191342CEEE43887BDE71AB9772580EFA6ADD-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-15 15:39           ` Olivier MATZ
     [not found]             ` <5374DFC4.50808-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-15 16:30               ` Ananyev, Konstantin
     [not found]                 ` <2601191342CEEE43887BDE71AB9772580EFA6B2A-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-16 12:11                   ` Olivier MATZ
     [not found]                     ` <53760079.7090106-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-16 17:01                       ` Ananyev, Konstantin
     [not found]                         ` <2601191342CEEE43887BDE71AB9772580EFA6ED5-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-19 12:32                           ` Thomas Monjalon
2014-05-09 17:04   ` [PATCH RFC 00/11] " Stephen Hemminger
     [not found]     ` <20140509100431.7af69959-We1ePj4FEcvRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org>
2014-05-09 21:49       ` Olivier MATZ
     [not found]         ` <536D4D79.4080609-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-05-10  0:39           ` Stephen Hemminger
2014-05-19 12:47   ` Thomas Monjalon [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=1546716.3aIeLKqHAb@xps13 \
    --to=thomas.monjalon-pdr9zngts4eavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.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.