[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1460332480.6473.536.camel@edumazet-glaptop3.roam.corp.google.com>
Date: Sun, 10 Apr 2016 16:54:40 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Sowmini Varadhan <sowmini.varadhan@...cle.com>
Cc: netdev@...r.kernel.org
Subject: Re: optimizations to sk_buff handling in rds_tcp_data_ready
On Sat, 2016-04-09 at 20:18 -0400, Sowmini Varadhan wrote:
> On (04/07/16 07:16), Eric Dumazet wrote:
> > Use skb split like TCP in output path ?
> > Really, pskb_expand_head() is not supposed to copy payload ;)
>
> Question- how come skb_split doesnt have to deal with frag_list
> and do a skb_walk_frags()? Couldn't the split-line be somewhere
> in the frag_list? Also even for the skb_split_inside_header,
> dont we have to set
> skb_shinfo(skb1)->frag_list = skb_shinfo(skb)->frag_list;
> and cut loose the skb_shinfo(skb)->frag_list?
>
> As I try to mimic skb_split in some new set of "skb_carve"
> funtions, I'm running into all the various frag_list cases. I'm
> afraid I might end up needing most of the stuff under the "Pure
> masohism" (sic) comment in __pskb_pull_tail().
>
The helper was written for TCP I guess. TCP in output path never uses
skb_shinfo(skb)->frag_list : It is guaranteed to be NULL for all skbs.
Powered by blists - more mailing lists