All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mat Martineau <mathew.j.martineau at linux.intel.com>
To: mptcp at lists.01.org
Subject: Re: [MPTCP] [PATCH 0/2] Shared control buffer proposal
Date: Fri, 20 Oct 2017 16:06:03 -0700	[thread overview]
Message-ID: <alpine.OSX.2.21.1710201605050.33189@mjmartin-mac01.local> (raw)
In-Reply-To: 20171020230232.14721-1-mathew.j.martineau@linux.intel.com

[-- Attachment #1: Type: text/plain, Size: 1923 bytes --]


On Fri, 20 Oct 2017, Mat Martineau wrote:

> Here's an implementation of the "shared control buffer" we recently
> discussed on this list. This uses a SKB_SHINFO_EXT flag for __alloc_skb
> to optionally allocate extra space following skb_shared_info. Regular
> (non-extended) skbs are not changed at all. The new skbs with extended
> shared info can be safely handled by existing code, although low-level
> operations that copy or reallocate skb data and shared info may strip
> the extended information if they are not aware of it.
>
> The second patch allows users of do_tcp_sendpages to provide a skb with
> an extended control buffer to use for the first packet. In MPTCP, this
> would allow a DSS mapping for a large chunk of data to be sent in the
> first packet, with the rest of the mapped data sent in subsequent
> packets. It also conveniently ensures that the beginning of the provided
> data is not coalesced in to an existing skb so the DSS mapping and the
> beginning of the mapped data stay together.
>
> I still need to verify how GSO and TSO handle these skbs. When I tested
> this code by using SKB_ALLOC_SHINFO_EXT with every TCP allocation, the
> extended information was available when TCP headers are written.
>
> Mat Martineau (2):
>  skbuff: Add shared control buffer
>  tcp: Let do_tcp_sendpages accept a pre-allocated initial skb
>
> include/linux/skbuff.h | 24 +++++++++++++++++++++-
> include/net/tcp.h      |  2 +-
> net/core/skbuff.c      | 56 ++++++++++++++++++++++++++++++++++++++------------
> net/ipv4/tcp.c         | 12 ++++++++---
> net/tls/tls_main.c     |  3 ++-
> 5 files changed, 78 insertions(+), 19 deletions(-)
>
> -- 
> 2.14.2
>
>

I forgot to mention that I've pushed these changes to 
https://git.kernel.org/pub/scm/linux/kernel/git/martineau/linux.git/log/?h=sharedcb

They apply to net-next/master.

--
Mat Martineau
Intel OTC

             reply	other threads:[~2017-10-20 23:06 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-20 23:06 Mat Martineau [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-10-20 23:02 [MPTCP] [PATCH 0/2] Shared control buffer proposal Mat Martineau

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=alpine.OSX.2.21.1710201605050.33189@mjmartin-mac01.local \
    --to=unknown@example.com \
    /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.