Re: htb parallelism on multi-core platforms

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Paweł Staszewski
Date: Friday, May 8, 2009 - 3:15 am

Radu You have something wrong with your configuration i think.

I make Traffic management for many different nets with space of /18 
prefix outside net + 10.0.0.0/18 inside and some nets like /21 , /22 , 
/23, /20 network prefixes.

Some stats from my router:

tc -s -d filter show dev eth0 | grep dst | wc -l
14087
tc -s -d filter show dev eth1 | grep dst | wc -l
14087

cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Xeon(R) CPU            3075  @ 2.66GHz
stepping        : 11
cpu MHz         : 2659.843
cache size      : 4096 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge 
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm 
constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx smx est 
tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips        : 5319.68
clflush size    : 64
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Xeon(R) CPU            3075  @ 2.66GHz
stepping        : 11
cpu MHz         : 2659.843
cache size      : 4096 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge 
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm 
constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx smx est 
tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips        : 5320.30
clflush size    : 64
power management:


mpstat -P ALL 1 10
Average:     CPU   %user   %nice    %sys %iowait    %irq   %soft  
%steal   %idle    intr/s
Average:     all    0.00    0.00    0.15    0.00    0.00    0.10    
0.00   99.75  73231.70
Average:       0    0.00    0.00    0.20    0.00    0.00    0.10    
0.00   99.70      0.00
Average:       1    0.00    0.00    0.00    0.00    0.00    0.00    
0.00  100.00  27686.80
Average:       2    0.00    0.00    0.00    0.00    0.00    0.00    
0.00    0.00      0.00

Some opreport:
CPU: Core 2, speed 2659.84 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a 
unit mask of 0x00 (Unhalted core cycles) count 100000
samples  %        app name                 symbol name
7592      8.3103  vmlinux                  rb_next
5393      5.9033  vmlinux                  e1000_get_hw_control
4514      4.9411  vmlinux                  hfsc_dequeue
4069      4.4540  vmlinux                  e1000_intr_msi
3695      4.0446  vmlinux                  u32_classify
3522      3.8552  vmlinux                  poll_idle
2234      2.4454  vmlinux                  _raw_spin_lock
2077      2.2735  vmlinux                  read_tsc
1855      2.0305  vmlinux                  rb_prev
1834      2.0075  vmlinux                  getnstimeofday
1800      1.9703  vmlinux                  e1000_clean_rx_irq
1553      1.6999  vmlinux                  ip_route_input
1509      1.6518  vmlinux                  hfsc_enqueue
1451      1.5883  vmlinux                  irq_entries_start
1419      1.5533  vmlinux                  mwait_idle
1392      1.5237  vmlinux                  e1000_clean_tx_irq
1345      1.4723  vmlinux                  rb_erase
1294      1.4164  vmlinux                  sfq_enqueue
1187      1.2993  libc-2.6.1.so            (no symbols)
1162      1.2719  vmlinux                  sfq_dequeue
1134      1.2413  vmlinux                  ipt_do_table
1116      1.2216  vmlinux                  apic_timer_interrupt
1108      1.2128  vmlinux                  cftree_insert
1039      1.1373  vmlinux                  rtsc_y2x
985       1.0782  vmlinux                  e1000_xmit_frame
943       1.0322  vmlinux                  update_vf

 bwm-ng v0.6 (probing every 5.000s), press 'h' for help
  input: /proc/net/dev type: rate
  /         iface                   Rx                   
Tx                Total
  
==============================================================================
               lo:           0.00 KB/s            0.00 KB/s            
0.00 KB/s
             eth1:       20716.35 KB/s        24258.43 KB/s        
44974.78 KB/s
             eth0:       24365.31 KB/s        30691.10 KB/s        
55056.42 KB/s
  
------------------------------------------------------------------------------

bwm-ng v0.6 (probing every 5.000s), press 'h' for help
  input: /proc/net/dev type: rate
  |         iface                   Rx                   
Tx                Total
  
==============================================================================
               lo:            0.00 P/s             0.00 P/s             
0.00 P/s
             eth1:        38034.00 P/s         36751.00 P/s         
74785.00 P/s
             eth0:        37195.40 P/s         38115.00 P/s         
75310.40 P/s
      
Maximum CPU load is when rush hour (from 5:00 pm to 10:00 pm) then it is 
20% - 30% of each CPU.


So i think you must change type of your hash tree in u32 filtering.
I use simply split of big nets like /18, /20, /21 to /24 prefixes  to 
build my hash tree.
I make many tests and this configuration of hash works best for my 
configuration.



Regards
Paweł Sstaszewski





Calin Velea pisze:

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
htb parallelism on multi-core platforms, Radu Rendec, (Fri Apr 17, 3:40 am)
Re: htb parallelism on multi-core platforms, David Miller, (Fri Apr 17, 4:31 am)
Re: htb parallelism on multi-core platforms, Badalian Vyacheslav, (Fri Apr 17, 4:33 am)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Fri Apr 17, 3:41 pm)
Re: htb parallelism on multi-core platforms, Denys Fedoryschenko, (Fri Apr 17, 5:21 pm)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Sat Apr 18, 12:56 am)
Re: htb parallelism on multi-core platforms, Radu Rendec, (Wed Apr 22, 7:02 am)
Re: htb parallelism on multi-core platforms, Jesper Dangaard Brouer, (Wed Apr 22, 2:29 pm)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Thu Apr 23, 1:20 am)
Re: htb parallelism on multi-core platforms, Radu Rendec, (Thu Apr 23, 5:31 am)
Re: htb parallelism on multi-core platforms, Radu Rendec, (Thu Apr 23, 6:56 am)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Thu Apr 23, 11:19 am)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Thu Apr 23, 11:43 am)
Re: htb parallelism on multi-core platforms, Jesper Dangaard Brouer, (Thu Apr 23, 12:06 pm)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Thu Apr 23, 12:14 pm)
Re: htb parallelism on multi-core platforms, Jesper Dangaard Brouer, (Thu Apr 23, 12:47 pm)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Thu Apr 23, 1:00 pm)
Re: htb parallelism on multi-core platforms, Jeff King, (Thu Apr 23, 1:09 pm)
Re: htb parallelism on multi-core platforms, Jesper Dangaard Brouer, (Thu Apr 23, 1:19 pm)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Thu Apr 23, 11:01 pm)
Re: htb parallelism on multi-core platforms, Radu Rendec, (Fri Apr 24, 2:42 am)
Re[2]: htb parallelism on multi-core platforms, Calin Velea, (Fri Apr 24, 4:35 am)
Re: htb parallelism on multi-core platforms, Jesper Dangaard Brouer, (Tue Apr 28, 3:15 am)
Re: htb parallelism on multi-core platforms, Radu Rendec, (Wed Apr 29, 3:21 am)
Re: htb parallelism on multi-core platforms, Jesper Dangaard Brouer, (Wed Apr 29, 3:31 am)
Re: htb parallelism on multi-core platforms, Radu Rendec, (Wed Apr 29, 4:03 am)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Wed Apr 29, 5:23 am)
Re: htb parallelism on multi-core platforms, Radu Rendec, (Wed Apr 29, 6:15 am)
Re: htb parallelism on multi-core platforms, Jarek Poplawski, (Wed Apr 29, 6:38 am)
Re: htb parallelism on multi-core platforms, Radu Rendec, (Wed Apr 29, 9:21 am)
Re: htb parallelism on multi-core platforms, Calin Velea, (Wed Apr 29, 3:49 pm)
Re[2]: htb parallelism on multi-core platforms, Calin Velea, (Wed Apr 29, 4:00 pm)
Re: htb parallelism on multi-core platforms, Radu Rendec, (Thu Apr 30, 4:19 am)
Re: htb parallelism on multi-core platforms, Jesper Dangaard Brouer, (Thu Apr 30, 4:44 am)
Re[2]: htb parallelism on multi-core platforms, Calin Velea, (Thu Apr 30, 7:04 am)
Re: htb parallelism on multi-core platforms, Paweł Staszewski, (Fri May 8, 3:15 am)
Re: htb parallelism on multi-core platforms, Vladimir Ivashchenko, (Fri May 8, 10:55 am)
Re: htb parallelism on multi-core platforms, Denys Fedoryschenko, (Fri May 8, 11:07 am)