All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Kirby <sim@netnation.com>
To: "David S. Miller" <davem@redhat.com>
Cc: netdev@oss.sgi.com, linux-net@vger.kernel.org, kuznet@ms2.inr.ac.ru
Subject: Re: Route cache performance under stress
Date: Thu, 29 May 2003 13:51:25 -0700	[thread overview]
Message-ID: <20030529205125.GA30058@netnation.com> (raw)
In-Reply-To: <20030522.153330.74735095.davem@redhat.com>

On Thu, May 22, 2003 at 03:33:30PM -0700, David S. Miller wrote:

>    If you'd like I can try to regenerate a profile, but you probably
>    already know what it will look like.
> 
> I obviously know some things that will change, but I am still
> very much interested in new profiles.

Sorry for the delay -- I was away for a few days.  Here are profile
results from the same machine (still with XT-PIC), the same 300000 route
entries, and your original patch that fixes the hashing.  I should also
mention that in all of these tests I have one filter rule in the INPUT
chain (after routing) to avoid sending back zillions of ICMP packets out
to the spoofed source IPs.

...
    27 check_pgt_cache                            0.8438
  1430 ip_rcv_finish                              2.4870
   135 ipv4_dst_destroy                           2.8125
   357 cpu_idle                                   3.1875
  7714 ip_route_input_slow                        3.3481
   434 fib_rules_policy                           3.8750
  2952 ip_rcv                                     5.2714
    85 kmem_cache_alloc                           5.3125
  2188 netif_receive_skb                          5.4700
  2734 alloc_skb                                  5.6958
   822 skb_release_data                           5.7083
  2161 __kfree_skb                                5.8723
   572 ip_local_deliver                           5.9583
  1023 __constant_c_and_count_memset              6.3937
  3801 fib_validate_source                        6.7875
  6778 rt_garbage_collect                         7.1801
   497 __fib_res_prefsrc                          7.7656
  3035 inet_select_addr                           8.2473
  2717 tcp_match                                  8.4906
   552 ipt_hook                                   8.6250
   706 kmalloc                                    8.8250
  1561 kfree                                      8.8693
  1287 jhash_3words                               8.9375
  5937 nf_hook_slow                              10.9136
  2532 fib_semantic_match                        12.1731
  2356 eth_type_trans                            12.2708
  2166 nf_iterate                                12.3068
  4446 net_rx_action                             12.6307
  1622 kfree_skbmem                              12.6719
   842 rt_hash_code                              13.1562
 16030 ipt_do_table                              14.5199
  2104 tg3_recycle_rx                            14.6111
 13795 tg3_rx                                    14.6133
  5667 __kmem_cache_alloc                        17.7094
  1193 ipt_route_hook                            18.6406
  2851 do_gettimeofday                           19.7986
  7423 fib_lookup                                23.1969
  1497 fib_rule_put                              23.3906
  8803 ip_packet_match                           26.1994
  4970 dst_destroy                               28.2386
 22479 rt_intern_hash                            29.2695
  8804 kmem_cache_free                           55.0250
  8380 dst_alloc                                 58.1944
 18252 fn_hash_lookup                            63.3750
 25473 tg3_interrupt                             75.8125
 24036 do_softirq                               100.1500
 51355 ip_route_input                           118.8773
 57304 tg3_poll                                 188.5000
111691 handle_IRQ_event                         698.0688
168828 default_idle                             2637.9375

Full profile output available here:

	http://blue.netnation.com/sim/ref/
	readprofile.full_route_table_hash_fixed.*

Note that if I increase the packet rate and NAPI kicks in, all of the
handle_IRQ and similar overhead basically disappears because it no longer
uses IRQs.  Pretty spiffy.  Here is a profile of that:

...
    25 tasklet_hi_action                          0.1562
    46 timer_bh                                   0.2054
    97 net_rx_action                              0.2756
    93 tg3_vlan_rx                                0.3875
   158 tg3_poll                                   0.5197
  1630 ip_rcv_finish                              2.8348
   142 ipv4_dst_destroy                           2.9583
   429 fib_rules_policy                           3.8304
  8959 ip_route_input_slow                        3.8885
  2438 ip_rcv                                     4.3536
  2504 alloc_skb                                  5.2167
  1991 __kfree_skb                                5.4103
  2279 netif_receive_skb                          5.6975
   929 skb_release_data                           6.4514
   669 ip_local_deliver                           6.9688
  1175 __constant_c_and_count_memset              7.3438
  2367 tcp_match                                  7.3969
   124 kmem_cache_alloc                           7.7500
  4535 fib_validate_source                        8.0982
   598 __fib_res_prefsrc                          9.3438
  8896 rt_garbage_collect                         9.4237
  3582 inet_select_addr                           9.7337
  1747 kfree                                      9.9261
   717 ipt_hook                                  11.2031
   938 kmalloc                                   11.7250
  1747 jhash_3words                              12.1319
  6879 nf_hook_slow                              12.6452
  2439 eth_type_trans                            12.7031
  1695 kfree_skbmem                              13.2422
  2358 nf_iterate                                13.3977
   872 rt_hash_code                              13.6250
  2933 fib_semantic_match                        14.1010
 16553 ipt_do_table                              14.9937
 15339 tg3_rx                                    16.2489
  2482 tg3_recycle_rx                            17.2361
  5967 __kmem_cache_alloc                        18.6469
  1237 ipt_route_hook                            19.3281
  3120 do_gettimeofday                           21.6667
  8299 ip_packet_match                           24.6994
  8031 fib_lookup                                25.0969
  1877 fib_rule_put                              29.3281
  6088 dst_destroy                               34.5909
 26833 rt_intern_hash                            34.9388
 10666 kmem_cache_free                           66.6625
 20193 fn_hash_lookup                            70.1146
 10516 dst_alloc                                 73.0278
 64803 ip_route_input                           150.0069

Full profile output available as:

	readprofile.full_route_table_hash_fixed_napi.*

Hmm.. I see there is some redundant hashing going on in
ip_route_input_slow() (called only from ip_route_input() which already
calculates the hash), but my patch to fix that adds yet another argument
to ip_route_slow() which isn't that pretty.  It looks like that function
isn't using much CPU anyway.

Why is ip_route_input() so heavy still?  This kernel is compiled
CONFIG_SMP which makes the read_lock() calls actually do something, but
it looks like they should be fairly light.  Should I add an iteration
counter to the for loop, perhaps?

Simon-

  reply	other threads:[~2003-05-29 20:51 UTC|newest]

Thread overview: 227+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-05 16:37 Route cache performance under stress Florian Weimer
2003-04-05 18:17 ` Martin Josefsson
2003-04-05 18:34 ` Willy Tarreau
2003-05-16 22:24 ` Simon Kirby
2003-05-16 23:16   ` Florian Weimer
2003-05-19 19:10     ` Simon Kirby
2003-05-17  2:35   ` David S. Miller
2003-05-17  7:31     ` Florian Weimer
2003-05-17 22:09       ` David S. Miller
2003-05-18  9:21         ` Florian Weimer
2003-05-18  9:31           ` David S. Miller
2003-05-19 17:36             ` Jamal Hadi
2003-05-19 19:18               ` Ralph Doncaster
2003-05-19 22:37                 ` Jamal Hadi
2003-05-20  1:10                   ` Simon Kirby
2003-05-20  1:14                     ` David S. Miller
2003-05-20  1:23                       ` Jamal Hadi
2003-05-20  1:24                         ` David S. Miller
2003-05-20  2:13                           ` Jamal Hadi
2003-05-20  5:01                             ` Pekka Savola
2003-05-20 11:47                               ` Jamal Hadi
2003-05-20 11:55                                 ` Pekka Savola
2003-05-20  6:46                             ` David S. Miller
2003-05-20 12:04                               ` Jamal Hadi
2003-05-21  0:36                                 ` David S. Miller
2003-05-21 13:03                                   ` Jamal Hadi
2003-05-23  5:42                                     ` David S. Miller
2003-05-22  8:40                                   ` Simon Kirby
2003-05-22  8:58                                     ` David S. Miller
2003-05-22 10:40                                       ` David S. Miller
2003-05-22 11:15                                         ` Martin Josefsson
2003-05-23  1:00                                           ` David S. Miller
2003-05-23  1:01                                           ` David S. Miller
2003-05-23  8:21                                             ` Andi Kleen
2003-05-23  8:22                                               ` David S. Miller
2003-05-23  9:03                                                 ` Andi Kleen
2003-05-23  9:59                                                   ` David S. Miller
2003-05-24  0:41                                           ` Andrew Morton
2003-05-26  2:29                                             ` David S. Miller
2003-05-22 11:44                                         ` Simon Kirby
2003-05-22 13:03                                           ` Martin Josefsson
2003-05-23  0:55                                             ` David S. Miller
2003-05-22 22:33                                           ` David S. Miller
2003-05-29 20:51                                             ` Simon Kirby [this message]
2003-06-02 10:58                                               ` Robert Olsson
2003-06-02 15:18                                                 ` Simon Kirby
2003-06-02 16:36                                                   ` Robert Olsson
2003-06-02 18:05                                                     ` Simon Kirby
2003-06-09 17:21                                                     ` David S. Miller
2003-06-09 17:19                                                 ` David S. Miller
2003-05-23  0:59                                           ` David S. Miller
2003-05-26  7:18                         ` Florian Weimer
2003-05-26  7:29                           ` David S. Miller
2003-05-26  9:34                             ` Florian Weimer
2003-05-27  6:32                               ` David S. Miller
2003-06-08 11:39                                 ` Florian Weimer
2003-06-08 12:05                                   ` David S. Miller
2003-06-08 13:10                                     ` Florian Weimer
2003-06-08 23:49                                       ` Simon Kirby
2003-06-08 23:55                                         ` CIT/Paul
2003-06-09  3:15                                           ` Jamal Hadi
2003-06-09  5:27                                             ` CIT/Paul
2003-06-09  5:58                                               ` David S. Miller
2003-06-09  6:28                                                 ` CIT/Paul
2003-06-09  6:28                                                   ` David S. Miller
2003-06-09 16:23                                                     ` Stephen Hemminger
2003-06-09 16:37                                                       ` David S. Miller
2003-06-09  7:13                                                   ` Simon Kirby
2003-06-09  8:10                                                     ` CIT/Paul
2003-06-09  8:27                                                       ` Simon Kirby
2003-06-09 19:38                                                         ` CIT/Paul
2003-06-09 21:30                                                           ` David S. Miller
2003-06-09 22:19                                                           ` Simon Kirby
2003-06-09 22:54                                                             ` Robert Olsson
2003-06-13  6:21                                                               ` David S. Miller
2003-06-13 10:40                                                                 ` Robert Olsson
2003-06-15  6:36                                                                   ` David S. Miller
2003-06-17 17:03                                                                   ` Robert Olsson
2003-06-09 22:56                                                             ` CIT/Paul
2003-06-09 23:05                                                               ` David S. Miller
2003-06-10 13:41                                                                 ` Robert Olsson
2003-06-10  0:03                                                               ` Jamal Hadi
2003-06-10  0:32                                                                 ` Ralph Doncaster
2003-06-10  1:15                                                                   ` Jamal Hadi
2003-06-10  2:45                                                                     ` Ralph Doncaster
2003-06-10  3:23                                                                       ` Ben Greear
2003-06-10  3:41                                                                         ` Ralph Doncaster
2003-06-10 18:10                                                                         ` Ralph Doncaster
2003-06-10 18:21                                                                           ` Ben Greear
2003-06-10  4:34                                                                       ` Simon Kirby
2003-06-10 11:01                                                                         ` Jamal Hadi
2003-06-10 11:28                                                                         ` Jamal Hadi
2003-06-10 13:18                                                                           ` Ralph Doncaster
2003-06-10 16:10                                                                         ` David S. Miller
2003-06-10 10:53                                                                       ` Jamal Hadi
2003-06-10 11:41                                                                         ` chas williams
2003-06-10 16:27                                                                           ` David S. Miller
2003-06-10 16:57                                                                             ` chas williams
2003-06-10 11:41                                                                         ` Pekka Savola
2003-06-10 11:58                                                                           ` John S. Denker
2003-06-10 12:12                                                                             ` Jamal Hadi
2003-06-10 16:33                                                                               ` David S. Miller
2003-06-10 12:07                                                                           ` Jamal Hadi
2003-06-10 15:29                                                                             ` Ralph Doncaster
2003-06-11 19:48                                                                               ` Florian Weimer
2003-06-11 19:40                                                                                 ` CIT/Paul
2003-06-11 21:09                                                                                 ` Florian Weimer
2003-06-10 13:10                                                                         ` Ralph Doncaster
2003-06-10 13:36                                                                           ` Jamal Hadi
2003-06-10 14:03                                                                             ` Ralph Doncaster
2003-06-10 16:38                                                                           ` David S. Miller
2003-06-10 16:39                                                                           ` David S. Miller
2003-06-10 18:41                                                                         ` Florian Weimer
2003-06-11 11:47                                                                           ` Was (Re: " Jamal Hadi
2003-06-11 18:41                                                                             ` Real World Routers 8-) Florian Weimer
2003-06-10 15:53                                                                     ` Route cache performance under stress David S. Miller
2003-06-10 16:15                                                                       ` 3c59x (was Route cache performance under stress) Bogdan Costescu
2003-06-10 16:20                                                                         ` Andi Kleen
2003-06-10 16:23                                                                           ` Jeff Garzik
2003-06-10 17:02                                                                             ` 3c59x David S. Miller
2003-06-10 17:16                                                                               ` 3c59x Jeff Garzik
2003-06-10 17:14                                                                                 ` 3c59x David S. Miller
2003-06-10 17:25                                                                                   ` 3c59x Jeff Garzik
2003-06-10 17:30                                                                                     ` 3c59x David S. Miller
2003-06-10 19:20                                                                                       ` 3c59x Jeff Garzik
2003-06-10 19:21                                                                                         ` 3c59x David S. Miller
2003-06-10 17:18                                                                                 ` 3c59x Andi Kleen
2003-06-10 17:29                                                                                 ` 3c59x chas williams
2003-06-10 17:31                                                                                   ` 3c59x David S. Miller
2003-06-10 17:39                                                                                     ` 3c59x chas williams
2003-06-10 17:43                                                                                       ` 3c59x David S. Miller
2003-06-11 17:52                                                                     ` Route cache performance under stress Robert Olsson
2003-06-10  1:53                                                                   ` Simon Kirby
2003-06-10  3:18                                                                     ` Ralph Doncaster
2003-06-10 16:06                                                                       ` David S. Miller
2003-06-10 15:56                                                                     ` David S. Miller
2003-06-10 16:45                                                                       ` 3c59x (was Route cache performance under stress) Bogdan Costescu
2003-06-10 16:49                                                                         ` Andi Kleen
2003-06-11  9:54                                                                           ` Robert Olsson
2003-06-11 10:05                                                                             ` Andi Kleen
2003-06-11 10:38                                                                               ` Robert Olsson
2003-06-11 12:08                                                                               ` Jamal Hadi
2003-06-10 17:12                                                                         ` 3c59x David S. Miller
2003-06-10 17:19                                                                       ` Route cache performance under stress Ralph Doncaster
2003-06-10 15:49                                                                   ` David S. Miller
2003-06-10 17:33                                                                     ` Ralph Doncaster
2003-06-10 17:32                                                                       ` David S. Miller
2003-06-10 18:34                                                                         ` Robert Olsson
2003-06-10 18:57                                                                           ` David S. Miller
2003-06-10 19:53                                                                             ` Robert Olsson
2003-06-10 21:36                                                                             ` CIT/Paul
2003-06-10 21:39                                                                             ` Ralph Doncaster
2003-06-10 22:20                                                                               ` David S. Miller
2003-06-10 23:58                                                                                 ` Ralph Doncaster
2003-06-10 23:57                                                                                   ` David S. Miller
2003-06-11  0:41                                                                                     ` Ralph Doncaster
2003-06-11  0:58                                                                                       ` David S. Miller
2003-06-11  0:58                                                                                       ` David S. Miller
2003-06-11  0:51                                                                                   ` Ben Greear
2003-06-11  1:01                                                                                     ` David S. Miller
2003-06-11  1:15                                                                                       ` Ben Greear
2003-06-11  1:22                                                                                         ` David S. Miller
2003-06-11  1:51                                                                                           ` Ben Greear
2003-06-11  3:33                                                                                             ` David S. Miller
2003-06-11 11:54                                                                                               ` gettime: Was (Re: " Jamal Hadi
2003-06-11 12:08                                                                                                 ` Andi Kleen
2003-06-12  3:30                                                                                                   ` David S. Miller
2003-06-12  6:32                                                                                                     ` Ben Greear
2003-06-12  8:46                                                                                                       ` David S. Miller
2003-06-11 15:57                                                                                                 ` Ben Greear
2003-06-12  3:29                                                                                                 ` David S. Miller
2003-06-11  1:17                                                                                       ` Ralph Doncaster
2003-06-11  1:23                                                                                         ` David S. Miller
2003-06-11  7:28                                                                                           ` Andi Kleen
2003-06-11  7:25                                                                                       ` Andi Kleen
2003-06-11 17:40                                                                             ` Robert Olsson
2003-06-13  5:38                                                                               ` David S. Miller
2003-06-13 10:22                                                                                 ` Robert Olsson
2003-06-13 17:15                                                                                 ` Robert Olsson
2003-06-12  6:45                                                                           ` David S. Miller
2003-06-12 13:56                                                                             ` Robert Olsson
2003-06-12 21:35                                                                               ` David S. Miller
2003-06-13 10:50                                                                                 ` Robert Olsson
2003-06-10  0:56                                                             ` Ralph Doncaster
2003-06-09 11:38                                                       ` Jamal Hadi
2003-06-09 11:55                                                         ` David S. Miller
2003-06-09 12:18                                                           ` Jamal Hadi
2003-06-09 12:32                                                             ` David S. Miller
2003-06-09 13:22                                                               ` Jamal Hadi
2003-06-09 13:22                                                                 ` David S. Miller
2003-06-09  8:56                                                     ` David S. Miller
2003-06-09 22:39                                                       ` Robert Olsson
2003-06-09  6:25                                             ` David S. Miller
2003-06-09  6:59                                               ` Simon Kirby
2003-06-09  7:03                                                 ` David S. Miller
2003-06-09 13:04                                             ` Ralph Doncaster
2003-06-09 13:26                                               ` Jamal Hadi
2003-06-09  5:44                                           ` David S. Miller
2003-06-09  5:51                                             ` CIT/Paul
2003-06-09  6:03                                               ` David S. Miller
2003-06-09  6:52                                                 ` Simon Kirby
2003-06-09  6:56                                                   ` David S. Miller
2003-06-09  7:36                                                     ` Simon Kirby
2003-06-09  8:18                                                     ` Simon Kirby
2003-06-09  8:22                                                       ` David S. Miller
2003-06-09  8:31                                                         ` Simon Kirby
2003-06-09  9:01                                                       ` David S. Miller
2003-06-09  9:47                                                         ` Andi Kleen
2003-06-09 10:03                                                           ` David S. Miller
2003-06-09 10:13                                                             ` Andi Kleen
2003-06-09 10:13                                                               ` David S. Miller
2003-06-09 10:40                                                                 ` YOSHIFUJI Hideaki / 吉藤英明
2003-06-09 10:40                                                                   ` David S. Miller
2003-06-09 14:14                                                       ` David S. Miller
2003-06-09  6:47                                           ` Simon Kirby
2003-06-09  6:49                                             ` David S. Miller
2003-06-09 13:28                                             ` Ralph Doncaster
2003-06-09 16:30                                               ` Simon Kirby
2003-06-17 20:58                                                 ` Florian Weimer
2003-06-09  5:38                                         ` David S. Miller
2003-06-10  3:05                                       ` Steven Blake
2003-06-12  6:31                                         ` David S. Miller
2003-06-08 17:58                                   ` Pekka Savola
2003-05-21  0:09                       ` Simon Kirby
2003-05-21  0:13                         ` David S. Miller
2003-05-26  9:29                           ` Florian Weimer
  -- strict thread matches above, loose matches on Subject: below --
2003-04-08  6:14 Scott A Crosby

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=20030529205125.GA30058@netnation.com \
    --to=sim@netnation.com \
    --cc=davem@redhat.com \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-net@vger.kernel.org \
    --cc=netdev@oss.sgi.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.