From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Ricardo Leitner Subject: Re: problems with SCTP GSO Date: Tue, 12 Jun 2018 14:05:06 -0300 Message-ID: <20180612170506.GF3877@localhost.localdomain> References: <20180611.202905.1954825345357429286.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: lucien.xin@gmail.com, edumazet@google.com, netdev@vger.kernel.org To: David Miller Return-path: Received: from mail-qk0-f173.google.com ([209.85.220.173]:33214 "EHLO mail-qk0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933811AbeFLRFK (ORCPT ); Tue, 12 Jun 2018 13:05:10 -0400 Received: by mail-qk0-f173.google.com with SMTP id c131-v6so6933489qkb.0 for ; Tue, 12 Jun 2018 10:05:10 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180611.202905.1954825345357429286.davem@davemloft.net> Sender: netdev-owner@vger.kernel.org List-ID: On Mon, Jun 11, 2018 at 08:29:05PM -0700, David Miller wrote: > > I would like to bring up some problems with the current GSO > implementation in SCTP. > > The most important for me right now is that SCTP uses > "skb_gro_receive()" to build "GSO" frames :-( > > Really it just ends up using the slow path (basically, label 'merge' > and onwards). > > So, using a GRO helper to build GSO packets is not great. Okay. > > I want to make major surgery here and the only way I can is if > it is exactly the GRO demuxing path that uses skb_gro_receive(). > > Those paths pass in the list head from the NAPI struct that initiated > the GRO code paths. That makes it easy for me to change this to use a > list_head or a hash chain. > > Probably in the short term SCTP should just have a private helper that > builds the frag list, appending 'skb' to 'head'. > > In the long term, SCTP should use the page frags just like TCP to > append the data when building GSO frames. Then it could actually be > offloaded and passed into drivers without linearizing. Sounds like a plan. Shouldn't be too hard to do it. (I'm out on PTO, btw) Thanks, Marcelo