On Tue, Jun 17, 2003 at 02:07:01PM -0700, Simon Kirby wrote: > 60.0104 seconds passed, avg forwarding rate: 259027.200 pps > > This is with standard juno (pseudo-random sources). > > This is with CONFIG_IP_MULTIPLE_TABLES still on, too. Here is with CONFIG_IP_MULTIPLE_TABLES=n and CONFIG_NETFILTER=n (rp_filter off and CONFIG_SMP=n in all tests): 60.0050 seconds passed, avg forwarding rate: 276893.102 pps 60.0046 seconds passed, avg forwarding rate: 257257.533 pps 60.0101 seconds passed, avg forwarding rate: 251852.843 pps 60.0106 seconds passed, avg forwarding rate: 248110.756 pps 60.0045 seconds passed, avg forwarding rate: 246280.066 pps "rtstat -i 1" shows the pps rate decreasing because of the growing rtcache: size IN: hit tot mc no_rt bcast madst masrc OUT: hit tot mc GC: tot ignored goal_miss ovrf 16688 18 294882 0 0 0 0 0 0 0 0 294882 294880 2 0 16834 24 302376 0 0 0 0 0 0 0 0 302376 302374 2 0 16970 12 294288 0 0 0 0 0 0 0 0 294288 294286 2 0 17037 21 294278 0 0 0 0 0 0 0 0 294278 294276 1 0 17133 20 293080 0 0 0 0 0 0 0 0 293080 293078 1 0 17195 22 293978 0 0 0 0 0 0 0 0 293978 293976 1 0 17293 16 292184 0 0 0 0 0 0 0 0 292184 292182 1 0 17370 19 293681 0 0 0 0 0 0 0 0 293681 293679 1 0 17450 21 293079 0 0 0 0 0 0 0 0 293079 293077 1 0 17542 12 293388 0 0 0 0 0 0 0 0 293388 293386 1 0 17604 16 293684 0 0 0 0 0 0 0 0 293684 293682 1 0 17676 27 294573 0 0 0 0 0 0 0 0 294573 294571 0 0 17762 18 291582 0 0 0 0 0 0 0 0 291582 291580 1 0 ... 21615 17 257683 0 0 0 0 0 0 0 0 257683 257681 1 0 21641 23 257077 0 0 0 0 0 0 0 0 257077 257075 0 0 21672 23 257077 0 0 0 0 0 0 0 0 257077 257075 1 0 Profile: vma samples % symbol name c025ee10 9228 15.1465 fn_hash_lookup c02379a0 4025 6.60648 ip_route_input_slow c0236650 3321 5.45096 rt_intern_hash c0235d60 2775 4.55478 rt_hash_code c012d750 2622 4.30365 kmem_cache_alloc c012d950 2338 3.83751 kmem_cache_free c0239f50 2323 3.81288 ip_rcv c0238060 2277 3.73738 ip_route_input c0233ac0 2190 3.59458 eth_header c0231b50 2119 3.47805 neigh_resolve_output c025ca50 2074 3.40419 fib_validate_source c023aed0 1987 3.26139 ip_forward c0230a70 1926 3.16126 neigh_lookup c012d830 1845 3.02831 kmalloc c0234270 1523 2.49979 pfifo_fast_dequeue c025dde0 1407 2.3094 fib_semantic_match c02376c0 1354 2.2224 rt_set_nexthop c022a730 1322 2.16988 __kfree_skb c022a480 1248 2.04842 alloc_skb c012da00 1229 2.01723 kfree c0259830 1171 1.92204 inet_select_addr c0233ca0 1169 1.91875 eth_type_trans c02304a0 994 1.63151 dst_destroy c0230380 976 1.60197 dst_alloc c010c910 806 1.32294 do_gettimeofday c02319d0 793 1.3016 neigh_hh_init c0236380 739 1.21297 rt_garbage_collect c0233ef0 732 1.20148 qdisc_restart c0234200 731 1.19984 pfifo_fast_enqueue c022e590 695 1.14075 netif_receive_skb c022dff0 623 1.02257 dev_queue_xmit c023d6e0 575 0.943783 ip_finish_output c02562a0 293 0.480919 arp_hash Full route table: 60.0054 seconds passed, avg forwarding rate: 141888.209 pps vma samples % symbol name c025ee10 21133 42.5588 fn_hash_lookup c02379a0 2219 4.46874 ip_route_input_slow c0236650 1600 3.22217 rt_intern_hash c0235d60 1471 2.96238 rt_hash_code c012d750 1282 2.58176 kmem_cache_alloc c012d950 1279 2.57572 kmem_cache_free c0259830 1253 2.52336 inet_select_addr c0239f50 1231 2.47906 ip_rcv c0233ac0 1214 2.44482 eth_header c025dde0 1165 2.34614 fib_semantic_match c0231b50 1133 2.2817 neigh_resolve_output c0238060 1126 2.2676 ip_route_input c025ca50 1120 2.25552 fib_validate_source c0230a70 1041 2.09642 neigh_lookup c023aed0 1032 2.0783 ip_forward c012d830 1002 2.01788 kmalloc c02376c0 762 1.53456 rt_set_nexthop c0234270 733 1.47616 pfifo_fast_dequeue c022a730 709 1.42782 __kfree_skb c022a480 633 1.27477 alloc_skb c012da00 629 1.26671 kfree c0233ca0 623 1.25463 eth_type_trans c02304a0 549 1.10561 dst_destroy c0230380 519 1.04519 dst_alloc c02319d0 447 0.900193 neigh_hh_init c0236380 426 0.857902 rt_garbage_collect c010c910 425 0.855889 do_gettimeofday c022e590 395 0.795473 netif_receive_skb c0234200 392 0.789431 pfifo_fast_enqueue c0233ef0 381 0.767279 qdisc_restart c022dff0 345 0.69478 dev_queue_xmit c025de90 298 0.600129 __fib_res_prefsrc c023d6e0 294 0.592073 ip_finish_output c02567d0 145 0.292009 arp_bind_neighbour Here's 2.5.72 (which seems to have all of the patches already in), empty routing table: 60.0085 seconds passed, avg forwarding rate: 166543.268 pps 60.0080 seconds passed, avg forwarding rate: 167055.912 pps 60.0051 seconds passed, avg forwarding rate: 166843.560 pps vma samples % symbol name c02c0020 5193 10.2685 fn_hash_lookup c02930d0 3475 6.87139 ip_route_input_slow c02222c0 2349 4.64486 tg3_start_xmit c0291c10 2217 4.38385 rt_intern_hash c02bde40 1910 3.77679 fib_validate_source c0293900 1864 3.68583 ip_route_input c02953d0 1646 3.25477 ip_rcv c0288b40 1609 3.1816 netif_receive_skb c0135210 1462 2.89093 kmem_cache_free c0134fd0 1457 2.88104 free_block c02216a0 1390 2.74856 tg3_rx c0135150 1295 2.56071 kmem_cache_alloc c02912d0 1275 2.52116 rt_hash_code c028f040 1250 2.47172 eth_header c0134e00 1250 2.47172 cache_alloc_refill c028ca40 1223 2.41833 neigh_resolve_output c028f740 1072 2.11975 pfifo_fast_dequeue c0135190 1019 2.01495 __kmalloc c028ba50 991 1.95958 neigh_lookup c02bf1d0 843 1.66693 fib_semantic_match c01adc10 816 1.61354 memcpy c0284ba0 768 1.51863 alloc_skb c0135250 724 1.43162 kfree c028f1b0 702 1.38812 eth_type_trans c02b8930 674 1.33275 inet_select_addr c0288600 668 1.32089 dev_queue_xmit c0297850 664 1.31298 ip_finish_output c0221e20 654 1.29321 tg3_set_txd c028b340 635 1.25564 dst_alloc c01289e0 632 1.2497 call_rcu c0296370 606 1.19829 ip_forward c0297af0 567 1.12117 ip_output c028c8c0 547 1.08163 neigh_hh_init c028b470 547 1.08163 dst_destroy c011f080 489 0.966938 local_bh_enable c0221550 477 0.94321 tg3_recycle_rx Erp, needed a new rtstat. And a wider console, apparently: size IN: hit tot mc no_rt bcast madst masrc OUT: hit tot mc GC: tot ignored goal_miss ovrf HASH: in_search out_search 22233 18 329638 0 0 0 0 0 0 0 0 329638 329634 2 0 665742 0 20523 22 329074 0 0 0 0 0 0 0 0 329074 329070 2 0 665184 0 23510 26 331502 0 0 0 0 0 0 0 0 331502 331498 2 0 671610 0 22552 24 330464 0 0 0 0 0 0 0 0 330464 330460 4 0 669214 0 20359 8 329512 0 0 0 0 0 0 0 0 329512 329508 2 0 664428 0 19965 22 330090 0 0 0 0 0 0 0 0 330090 330086 2 0 663296 0 20081 20 332660 0 0 0 0 0 0 0 0 332660 332656 2 0 671912 0 21113 22 330458 0 0 0 0 0 0 0 0 330458 330454 2 0 666340 0 19864 14 329778 0 0 0 0 0 0 0 0 329778 329774 2 0 667324 0 20195 18 329702 0 0 0 0 0 0 0 0 329702 329698 2 0 670646 0 Route cache size does not increase on 2.5, so the problems in 2.4 are probably the result of me hacking in the 2.5 patch. 2.5.72, full routing table: 60.0057 seconds passed, avg forwarding rate: 101800.795 pps 60.0045 seconds passed, avg forwarding rate: 101612.797 pps 60.0046 seconds passed, avg forwarding rate: 102004.873 pps 60.0044 seconds passed, avg forwarding rate: 102042.629 pps 60.0055 seconds passed, avg forwarding rate: 102135.224 pps 60.0057 seconds passed, avg forwarding rate: 102158.546 pps 60.0044 seconds passed, avg forwarding rate: 102200.430 pps vma samples % symbol name c02c0020 14206 33.0911 fn_hash_lookup c02930d0 2103 4.89867 ip_route_input_slow c02222c0 1436 3.34498 tg3_start_xmit c0291c10 1328 3.09341 rt_intern_hash c02bde40 1315 3.06313 fib_validate_source c0293900 1122 2.61356 ip_route_input c02953d0 1028 2.3946 ip_rcv c02bf1d0 1013 2.35966 fib_semantic_match c0288b40 957 2.22921 netif_receive_skb c0134fd0 840 1.95667 free_block c0135210 823 1.91707 kmem_cache_free c02b8930 811 1.88912 inet_select_addr c02216a0 804 1.87282 tg3_rx c028ca40 801 1.86583 neigh_resolve_output c02912d0 786 1.83089 rt_hash_code c028f040 709 1.65153 eth_header c0135190 700 1.63056 __kmalloc c0134e00 692 1.61193 cache_alloc_refill c028f740 644 1.50012 pfifo_fast_dequeue c028ba50 597 1.39064 neigh_lookup c0135150 591 1.37666 kmem_cache_alloc c0284ba0 539 1.25553 alloc_skb c01adc10 491 1.14372 memcpy c0135250 449 1.04589 kfree c028b340 437 1.01794 dst_alloc c028f1b0 433 1.00862 eth_type_trans c0297af0 422 0.982996 ip_output c01289e0 402 0.936408 call_rcu c0297850 400 0.931749 ip_finish_output c0296370 386 0.899138 ip_forward c0221e20 384 0.894479 tg3_set_txd c0288600 365 0.850221 dev_queue_xmit c011f080 364 0.847892 local_bh_enable c02919c0 356 0.829257 rt_garbage_collect c028c8c0 317 0.738411 neigh_hh_init c028b470 313 0.729094 dst_destroy c02212e0 299 0.696483 tg3_tx size IN: hit tot mc no_rt bcast madst masrc OUT: hit tot mc GC: tot ignored goal_miss ovrf HASH: in_search out_search 18755 12 202740 0 0 0 0 0 0 0 0 202740 202736 2 0 405030 0 19945 20 203884 0 0 0 0 0 0 0 0 203884 203880 2 0 406726 0 18449 8 204152 0 0 0 0 0 0 0 0 204152 204148 0 0 409590 0 19637 10 205302 0 0 0 0 0 0 0 0 205302 205298 2 0 413004 0 19213 10 204022 0 0 0 0 0 0 0 0 204022 204018 2 0 411092 0 20182 8 204280 0 0 0 0 0 0 0 0 204280 204276 2 0 412044 0 19311 14 203378 0 0 0 0 0 0 0 0 203378 203374 2 0 411052 0 18790 16 202480 0 0 0 0 0 0 0 0 202480 202476 2 0 409440 0 18835 24 204776 0 0 0 0 0 0 0 0 204776 204772 0 0 414416 0 19830 8 204792 0 0 0 0 0 0 0 0 204792 204788 2 0 415514 0 Simon- - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html