All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlad Yasevich <vyasevic@redhat.com>
To: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Cc: nhorman@tuxdriver.com, netdev@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-sctp@vger.kernel.org,
	Vladislav Yasevich <vyasevich@gmail.com>
Subject: Re: [PATCH net-next 0/5] virtio-net: Add SCTP checksum offload support
Date: Mon, 23 Apr 2018 09:17:52 -0400	[thread overview]
Message-ID: <35995a53-08ed-aa4f-ed53-f05722f42e5d__9153.97082358158$1524489356$gmane$org@redhat.com> (raw)
In-Reply-To: <20180420172219.GR4716@localhost.localdomain>

On 04/20/2018 01:22 PM, Marcelo Ricardo Leitner wrote:
> On Wed, Apr 18, 2018 at 05:06:46PM +0300, Michael S. Tsirkin wrote:
>> On Tue, Apr 17, 2018 at 04:35:18PM -0400, Vlad Yasevich wrote:
>>> On 04/02/2018 10:47 AM, Marcelo Ricardo Leitner wrote:
>>>> On Mon, Apr 02, 2018 at 09:40:01AM -0400, Vladislav Yasevich wrote:
>>>>> Now that we have SCTP offload capabilities in the kernel, we can add
>>>>> them to virtio as well.  First step is SCTP checksum.
>>>>
>>>> Thanks.
>>>>
>>>>> As for GSO, the way sctp GSO is currently implemented buys us nothing
>>>>> in added support to virtio.  To add true GSO, would require a lot of
>>>>> re-work inside of SCTP and would require extensions to the virtio
>>>>> net header to carry extra sctp data.
>>>>
>>>> Can you please elaborate more on this? Is this because SCTP GSO relies
>>>> on the gso skb format for knowing how to segment it instead of having
>>>> a list of sizes?
>>>>
>>>
>>> it's mainly because all the true segmentation, placing data into chunks,
>>> has already happened.  All that GSO does is allow for higher bundling
>>> rate between VMs. If that is all SCTP GSO ever going to do, that fine,
>>> but the goal is to do real GSO eventually and potentially reduce the
>>> amount of memory copying we are doing.
>>> If we do that, any current attempt at GSO in virtio would have to be
>>> depricated and we'd need GSO2 or something like that.
>>
>> Batching helps virtualization *a lot* though.
> 
> Yep. The results posted by Xin in the other email give good insights
> on it.
> 
>> Are there actual plans for GSO2? Is it just for SCTP?
> 
> No plans. In this context, at least, yes, just for SCTP.
> 
> It was a supposition in case we start doing a different GSO for SCTP,
> one more like what we have for TCP.
> 
> Currently, as the SCTP GSO code doesn't leave the system, we can
> update it if we want. But by the moment we add support for it in
> virtio, we will have to be backwards compatible if we end up doing
> SCTP GSO differently.

So, just because the linux code doesn't do it differently doesn't mean
that someone else doesn't.  Since the device has to work across different
possible implementations, it needs to be generic enough.  If we simply
document the current linux practice, that may not be ideal on the future.

I was hesitant to introduce this without studying the feasibility of
doing late segmentation.

-vlad

> 
> But again, I don't think such approach for SCTP GSO would be neither
> feasible or worth. The complexity for it, to work across stream
> schedules and late TSN allocation, would do more harm then good IMO.
> 
>>
>>>
>>> This is why, after doing the GSO support, I decided not to include it.
>>>
>>> -vlad
>>>>   Marcelo
>>>>

  parent reply	other threads:[~2018-04-23 13:17 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-02 13:40 [PATCH net-next 0/5] virtio-net: Add SCTP checksum offload support Vladislav Yasevich
2018-04-02 13:40 ` Vladislav Yasevich
2018-04-02 13:40 ` [PATCH net-next 1/5] virtio: Add support for SCTP checksum offloading Vladislav Yasevich
2018-04-02 13:40   ` Vladislav Yasevich
2018-04-10  3:17   ` Jason Wang
2018-04-10  3:17   ` Jason Wang
2018-04-10  3:17     ` Jason Wang
2018-04-11 22:39   ` Marcelo Ricardo Leitner
2018-04-11 22:39     ` Marcelo Ricardo Leitner
2018-04-11 22:49   ` Michael S. Tsirkin
2018-04-11 22:49     ` Michael S. Tsirkin
2018-04-16 13:45     ` Vlad Yasevich
2018-04-16 13:45       ` Vlad Yasevich
2018-04-16 15:52       ` Michael S. Tsirkin
2018-04-16 15:52         ` Michael S. Tsirkin
2018-04-16 17:09       ` Michael S. Tsirkin
2018-04-16 17:09         ` Michael S. Tsirkin
2018-04-17 19:06         ` Vlad Yasevich
2018-04-17 19:06           ` Vlad Yasevich
2018-04-17 19:06         ` Vlad Yasevich
2018-04-16 17:09       ` Michael S. Tsirkin
2018-04-16 13:45     ` Vlad Yasevich
2018-04-11 22:49   ` Michael S. Tsirkin
2018-04-16 17:07   ` Michael S. Tsirkin
2018-04-16 17:07   ` Michael S. Tsirkin
2018-04-16 17:07     ` Michael S. Tsirkin
2018-04-02 13:40 ` Vladislav Yasevich
2018-04-02 13:40 ` [PATCH net-next 2/5] sctp: Handle sctp packets with CHECKSUM_PARTIAL Vladislav Yasevich
2018-04-02 13:40 ` Vladislav Yasevich
2018-04-02 13:40   ` Vladislav Yasevich
2018-04-02 13:40 ` [PATCH net-next 3/5] sctp: Build sctp offload support into the base kernel Vladislav Yasevich
2018-04-02 13:40 ` Vladislav Yasevich
2018-04-02 13:40   ` Vladislav Yasevich
2018-04-02 13:40 ` [PATCH net-next 4/5] tun: Add support for SCTP checksum offload Vladislav Yasevich
2018-04-02 13:40 ` Vladislav Yasevich
2018-04-02 13:40   ` Vladislav Yasevich
2018-04-03  0:49   ` kbuild test robot
2018-04-03  0:49     ` kbuild test robot
2018-04-03  0:49   ` kbuild test robot
2018-04-16 17:12   ` Michael S. Tsirkin
2018-04-16 17:12     ` Michael S. Tsirkin
2018-04-16 17:12   ` Michael S. Tsirkin
2018-04-02 13:40 ` [PATCH net-next 5/5] macvlan/macvtap: " Vladislav Yasevich
2018-04-02 13:40   ` Vladislav Yasevich
2018-04-04 15:31   ` Davide Caratti
2018-04-04 15:31     ` Davide Caratti
2018-04-16 17:14   ` Michael S. Tsirkin
2018-04-16 17:14     ` Michael S. Tsirkin
2018-04-16 17:14   ` Michael S. Tsirkin
2018-04-02 13:40 ` Vladislav Yasevich
2018-04-02 14:16 ` [PATCH net-next 0/5] virtio-net: Add SCTP checksum offload support David Miller
2018-04-02 14:16 ` David Miller
2018-04-02 14:16   ` David Miller
2018-04-02 14:47 ` Marcelo Ricardo Leitner
2018-04-02 14:47   ` Marcelo Ricardo Leitner
2018-04-17 20:35   ` Vlad Yasevich
2018-04-17 20:35     ` Vlad Yasevich
2018-04-18  1:33     ` Marcelo Ricardo Leitner
2018-04-18  1:33       ` Marcelo Ricardo Leitner
2018-04-18  6:57       ` Xin Long
2018-04-18  6:57         ` Xin Long
2018-04-18  6:57       ` Xin Long
2018-04-18 14:06     ` Michael S. Tsirkin
2018-04-18 14:06       ` Michael S. Tsirkin
2018-04-20 17:22       ` Marcelo Ricardo Leitner
2018-04-20 17:22         ` Marcelo Ricardo Leitner
2018-04-20 18:32         ` Michael S. Tsirkin
2018-04-20 18:32         ` Michael S. Tsirkin
2018-04-20 18:32           ` Michael S. Tsirkin
2018-04-23 13:17         ` Vlad Yasevich
2018-04-23 13:17           ` Vlad Yasevich
2018-04-23 13:17         ` Vlad Yasevich [this message]
2018-04-18 14:06     ` Michael S. Tsirkin
2018-04-17 20:35   ` Vlad Yasevich

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='35995a53-08ed-aa4f-ed53-f05722f42e5d__9153.97082358158$1524489356$gmane$org@redhat.com' \
    --to=vyasevic@redhat.com \
    --cc=linux-sctp@vger.kernel.org \
    --cc=marcelo.leitner@gmail.com \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=vyasevich@gmail.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.