All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: Florian Fainelli <f.fainelli@gmail.com>, netdev@vger.kernel.org
Cc: davem@davemloft.net, gregkh@linuxfoundation.org,
	stable@vger.kernel.org, edumazet@google.com,
	sthemmin@microsoft.com
Subject: Re: [PATCH stable 4.9 00/29] backport of IP fragmentation fixes
Date: Tue, 9 Oct 2018 17:46:30 -0700	[thread overview]
Message-ID: <28926712-da72-7188-e219-152dddec9330@gmail.com> (raw)
In-Reply-To: <20181009224924.30151-1-f.fainelli@gmail.com>



On 10/09/2018 03:48 PM, Florian Fainelli wrote:
> This is based on Stephen's v4.14 patches, with the necessary merge
> conflicts, and the lack of timer_setup() on the 4.9 baseline.
> 
> Perf results on a gigabit capable system, before and after are below.
> 
> Series can also be found here:
> 
> https://github.com/ffainelli/linux/commits/fragment-stack-v4.9
> 
> 
>    PerfTop:     457 irqs/sec  kernel:74.4%  exact:  0.0% [4000Hz cycles],  (all, 4 CPUs)
> -------------------------------------------------------------------------------
> 
>     29.62%  [kernel]       [k] ip_defrag                  
>      6.57%  [kernel]       [k] arch_cpu_idle              
>      1.72%  [kernel]       [k] v7_dma_inv_range           
>      1.68%  [kernel]       [k] __netif_receive_skb_core   
>      1.43%  [kernel]       [k] fib_table_lookup           
>      1.30%  [kernel]       [k] finish_task_switch         
>      1.08%  [kernel]       [k] ip_rcv                     
>      1.01%  [kernel]       [k] skb_release_data           
>      0.99%  [kernel]       [k] __slab_free                
>      0.96%  [kernel]       [k] bcm_sysport_poll           
>      0.88%  [kernel]       [k] __netdev_alloc_skb         
>      0.87%  [kernel]       [k] tick_nohz_idle_enter       
>      0.86%  [kernel]       [k] dev_gro_receive            
>      0.85%  [kernel]       [k] _raw_spin_unlock_irqrestore
>      0.84%  [kernel]       [k] __memzero                  
>      0.74%  [kernel]       [k] tick_nohz_idle_exit        
>      0.73%  ld-2.24.so     [.] do_lookup_x                
>      0.66%  [kernel]       [k] kmem_cache_free            
>      0.66%  [kernel]       [k] bcm_sysport_rx_refill      
>      0.65%  [kernel]       [k] eth_type_trans             
> 
> 
> After patching:
> 
>   PerfTop:     170 irqs/sec  kernel:86.5%  exact:  0.0% [4000Hz cycles],  (all, 4 CPUs)
> -------------------------------------------------------------------------------
> 
>      7.79%  [kernel]       [k] arch_cpu_idle              
>      5.14%  [kernel]       [k] v7_dma_inv_range           
>      4.20%  [kernel]       [k] ip_defrag                  
>      3.89%  [kernel]       [k] __netif_receive_skb_core   
>      3.65%  [kernel]       [k] fib_table_lookup           
>      2.16%  [kernel]       [k] finish_task_switch         
>      1.93%  [kernel]       [k] _raw_spin_unlock_irqrestore
>      1.90%  [kernel]       [k] ip_rcv                     
>      1.84%  [kernel]       [k] bcm_sysport_poll           
>      1.83%  [kernel]       [k] __memzero                  
>      1.65%  [kernel]       [k] __netdev_alloc_skb         
>      1.60%  [kernel]       [k] __slab_free                
>      1.49%  [kernel]       [k] __do_softirq               
>      1.49%  [kernel]       [k] bcm_sysport_rx_refill      
>      1.31%  [kernel]       [k] dma_cache_maint_page       
>      1.25%  [kernel]       [k] tick_nohz_idle_enter       
>      1.24%  [kernel]       [k] ip_route_input_noref       
>      1.17%  [kernel]       [k] eth_type_trans             
>      1.06%  [kernel]       [k] fib_validate_source        
>      1.03%  [kernel]       [k] inet_frag_find    
> 
> Dan Carpenter (1):
>   ipv4: frags: precedence bug in ip_expire()
> 
> Eric Dumazet (22):
>   inet: frags: change inet_frags_init_net() return value
>   inet: frags: add a pointer to struct netns_frags
>   inet: frags: refactor ipfrag_init()
>   inet: frags: refactor ipv6_frag_init()
>   inet: frags: refactor lowpan_net_frag_init()
>   ipv6: export ip6 fragments sysctl to unprivileged users
>   rhashtable: add schedule points
>   inet: frags: use rhashtables for reassembly units
>   inet: frags: remove some helpers
>   inet: frags: get rif of inet_frag_evicting()
>   inet: frags: remove inet_frag_maybe_warn_overflow()
>   inet: frags: break the 2GB limit for frags storage
>   inet: frags: do not clone skb in ip_expire()
>   ipv6: frags: rewrite ip6_expire_frag_queue()
>   rhashtable: reorganize struct rhashtable layout
>   inet: frags: reorganize struct netns_frags
>   inet: frags: get rid of ipfrag_skb_cb/FRAG_CB
>   inet: frags: fix ip6frag_low_thresh boundary
>   net: speed up skb_rbtree_purge()
>   net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends
>   net: add rb_to_skb() and other rb tree helpers
>   net: sk_buff rbnode reorg
> 
> Florian Westphal (1):
>   ipv6: defrag: drop non-last frags smaller than min mtu
> 
> Peter Oskolkov (4):
>   ip: discard IPv4 datagrams with overlapping segments.
>   net: modify skb_rbtree_purge to return the truesize of all purged
>     skbs.
>   ip: add helpers to process in-order fragments faster.
>   ip: process in-order fragments efficiently
> 
> Taehee Yoo (1):
>   ip: frags: fix crash in ip_do_fragment()
>

Strange, I do not see "ip: use rb trees for IP frag queue." in this list ?

Thanks !

  parent reply	other threads:[~2018-10-10  8:06 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-09 22:48 [PATCH stable 4.9 00/29] backport of IP fragmentation fixes Florian Fainelli
2018-10-09 22:48 ` [PATCH stable 4.9 01/29] inet: frags: change inet_frags_init_net() return value Florian Fainelli
2018-10-09 22:48 ` [PATCH stable 4.9 02/29] inet: frags: add a pointer to struct netns_frags Florian Fainelli
2018-10-09 22:48 ` [PATCH stable 4.9 03/29] inet: frags: refactor ipfrag_init() Florian Fainelli
2018-10-09 22:48 ` [PATCH stable 4.9 04/29] inet: frags: refactor ipv6_frag_init() Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 05/29] inet: frags: refactor lowpan_net_frag_init() Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 06/29] ipv6: export ip6 fragments sysctl to unprivileged users Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 07/29] rhashtable: add schedule points Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 08/29] inet: frags: use rhashtables for reassembly units Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 09/29] inet: frags: remove some helpers Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 10/29] inet: frags: get rif of inet_frag_evicting() Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 11/29] inet: frags: remove inet_frag_maybe_warn_overflow() Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 12/29] inet: frags: break the 2GB limit for frags storage Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 13/29] inet: frags: do not clone skb in ip_expire() Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 14/29] ipv6: frags: rewrite ip6_expire_frag_queue() Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 15/29] rhashtable: reorganize struct rhashtable layout Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 16/29] inet: frags: reorganize struct netns_frags Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 17/29] inet: frags: get rid of ipfrag_skb_cb/FRAG_CB Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 18/29] inet: frags: fix ip6frag_low_thresh boundary Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 19/29] ip: discard IPv4 datagrams with overlapping segments Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 20/29] net: speed up skb_rbtree_purge() Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 21/29] net: modify skb_rbtree_purge to return the truesize of all purged skbs Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 22/29] ipv6: defrag: drop non-last frags smaller than min mtu Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 23/29] net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 24/29] net: add rb_to_skb() and other rb tree helpers Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 25/29] net: sk_buff rbnode reorg Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 26/29] ipv4: frags: precedence bug in ip_expire() Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 27/29] ip: add helpers to process in-order fragments faster Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 28/29] ip: process in-order fragments efficiently Florian Fainelli
2018-10-09 22:49 ` [PATCH stable 4.9 29/29] ip: frags: fix crash in ip_do_fragment() Florian Fainelli
2018-10-10  0:46 ` Eric Dumazet [this message]
2018-10-10  4:15   ` [PATCH stable 4.9 00/29] backport of IP fragmentation fixes Florian Fainelli
2018-10-10 23:18     ` Stephen Hemminger
2018-10-10 23:23       ` Florian Fainelli

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=28926712-da72-7188-e219-152dddec9330@gmail.com \
    --to=eric.dumazet@gmail.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=sthemmin@microsoft.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.