All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [MPTCP] [PATCH 0/2] Shared control buffer proposal
@ 2017-10-20 23:06 Mat Martineau
  0 siblings, 0 replies; 2+ messages in thread
From: Mat Martineau @ 2017-10-20 23:06 UTC (permalink / raw)
  To: mptcp

[-- 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

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

* [MPTCP] [PATCH 0/2] Shared control buffer proposal
@ 2017-10-20 23:02 Mat Martineau
  0 siblings, 0 replies; 2+ messages in thread
From: Mat Martineau @ 2017-10-20 23:02 UTC (permalink / raw)
  To: mptcp

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

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


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

end of thread, other threads:[~2017-10-20 23:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-20 23:06 [MPTCP] [PATCH 0/2] Shared control buffer proposal Mat Martineau
  -- strict thread matches above, loose matches on Subject: below --
2017-10-20 23:02 Mat Martineau

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.