Re: high latency with ipset-4.2 and 2.6.27.45 kernel.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le mercredi 23 juin 2010 à 18:13 +0530, krunal patel a écrit :
> On Wed, Jun 23, 2010 at 11:33 AM, krunal patel <krunal.raj@xxxxxxxxx> wrote:
> > ---------- Forwarded message ----------
> > From: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx>
> > Date: Tue, Jun 22, 2010 at 3:23 PM
> > Subject: Re: high latency with ipset-4.2 and 2.6.27.45 kernel.
> > To: Jan Engelhardt <jengelh@xxxxxxxxxx>
> > Cc: Nishit Shah <nsshah.82@xxxxxxxxx>, krunal patel
> > <krunal.raj@xxxxxxxxx>, netfilter-devel@xxxxxxxxxxxxxxx
> >
> >
> > On Tue, 22 Jun 2010, Jozsef Kadlecsik wrote:
> >
> >> On Tue, 22 Jun 2010, Jan Engelhardt wrote:
> >>
> >> >
> >> > On Tuesday 2010-06-22 07:41, Nishit Shah wrote:
> >> > >> On Monday 2010-06-21 17:18, krunal patel wrote:
> >> > >>>>>        iptables -A FORWARD -m set ! --set testip src
> >> > >>>>>        iptables -A FORWARD -m set ! --set testip src
> >> > >>>>>        iptables -A FORWARD -m set --set testip src
> >> > >>
> >> > >> No question that reevaluating the same thing over and over
> >> > >> increases runtime...
> >> > >
> >> > >Well, that is not the case. With 2.6.18.8 latency is same as 6 msecs.
> >> >
> >> > I think what you see could be noise.
> >> >
> >> > See commit 848484c08cb4ad161074262994410387585259ff in
> >> > xtables-addons. There I needed 3000 ping packets (sent with ping -f)
> >> > *and* a linear search of 10000 ranges to get above 2000 msec overhead
> >> > for a single rule.
> >>
> >> The impact of one more rule should be negligible. Something is bad there,
> >> but we know too little on the setup, the configuration: what kind of
> >> architecture, hardware you run the testing? What do you get when you
> >> replace the rules with similar ones but with pure "-s src" matching, i.e.
> >> without calling ipset? And it'd be good if you'd test a recent kernel as
> >> well. 2.6.27 is almost two years old.
> >
> > I meant by "you" the OP, that is Krunal. :-)
> >
> > Best regards,
> > Jozsef
> > -
> > E-mail  : kadlec@xxxxxxxxxxxxxxxxx, kadlec@xxxxxxxxxxxx
> > PGP key : http://www.kfki.hu/~kadlec/pgp_public_key.txt
> > Address : KFKI Research Institute for Particle and Nuclear Physics
> >          H-1525 Budapest 114, POB. 49, Hungary
> >
> 
> Sir,
> 
> I checked using "-s src"
> iptables -F PREROUTING -t raw
> iptables -F PREROUTING -t mangle
> iptables -F PREROUTING -t nat
> iptables -F FORWARD -t mangle
> iptables -F FORWARD -t filter
> iptables -F POSTROUTING -t mangle
> iptables -F POSTROUTING -t nat
> 
> 
> iptables -A FORWARD -s 1.2.3.4
> iptables -A FORWARD -s 1.2.3.4
> iptables -A FORWARD -s ! 1.2.3.4
> iptables -A FORWARD -s 1.2.3.4
> iptables -A FORWARD -s 1.2.3.4
> iptables -A FORWARD -s ! 1.2.3.4
> 
> Now response time is constant to 5msec. :).
> Next I will try to test using Oprofile and ipset.
> 
> Some of the information about hardware.
> 
> # lspci
> 00:00.0 Class 0600: Device 8086:25d8 (rev b1)
> 00:02.0 Class 0604: Device 8086:25f7 (rev b1)
> 00:03.0 Class 0604: Device 8086:25e3 (rev b1)
> 00:04.0 Class 0604: Device 8086:25e4 (rev b1)
> 00:05.0 Class 0604: Device 8086:25e5 (rev b1)
> 00:06.0 Class 0604: Device 8086:25e6 (rev b1)
> 00:07.0 Class 0604: Device 8086:25e7 (rev b1)
> 00:10.0 Class 0600: Device 8086:25f0 (rev b1)
> 00:10.1 Class 0600: Device 8086:25f0 (rev b1)
> 00:10.2 Class 0600: Device 8086:25f0 (rev b1)
> 00:11.0 Class 0600: Device 8086:25f1 (rev b1)
> 00:13.0 Class 0600: Device 8086:25f3 (rev b1)
> 00:15.0 Class 0600: Device 8086:25f5 (rev b1)
> 00:16.0 Class 0600: Device 8086:25f6 (rev b1)
> 00:1c.0 Class 0604: Device 8086:2690 (rev 09)
> 00:1d.0 Class 0c03: Device 8086:2688 (rev 09)
> 00:1d.1 Class 0c03: Device 8086:2689 (rev 09)
> 00:1e.0 Class 0604: Device 8086:244e (rev d9)
> 00:1f.0 Class 0601: Device 8086:2670 (rev 09)
> 00:1f.1 Class 0101: Device 8086:269e (rev 09)
> 00:1f.2 Class 0101: Device 8086:2680 (rev 09)
> 00:1f.3 Class 0c05: Device 8086:269b (rev 09)
> 02:00.0 Class 0604: Device 8086:0329 (rev 09)
> 02:00.2 Class 0604: Device 8086:032a (rev 09)
> 05:00.0 Class 0200: Device 8086:105e (rev 06)
> 05:00.1 Class 0200: Device 8086:105e (rev 06)
> 06:00.0 Class 0200: Device 8086:105e (rev 06)
> 06:00.1 Class 0200: Device 8086:105e (rev 06)
> 07:00.0 Class 0200: Device 8086:105e (rev 06)
> 07:00.1 Class 0200: Device 8086:105e (rev 06)
> 08:00.0 Class 0200: Device 8086:105e (rev 06)
> 08:00.1 Class 0200: Device 8086:105e (rev 06)
> 0a:00.0 Class 0604: Device 8086:3500 (rev 01)
> 0a:00.3 Class 0604: Device 8086:350c (rev 01)
> 0c:00.0 Class 0604: Device 8086:3510 (rev 01)
> 0c:01.0 Class 0604: Device 8086:3514 (rev 01)
> 0c:02.0 Class 0604: Device 8086:3518 (rev 01)
> 0d:00.0 Class 0200: Device 8086:1096 (rev 01)
> 0d:00.1 Class 0200: Device 8086:1096 (rev 01)
> 0f:00.0 Class 0200: Device 8086:105f (rev 06)
> 0f:00.1 Class 0200: Device 8086:105f (rev 06)
> 
> 
> # cat /proc/interrupts
>        CPU0   CPU1 CPU2  CPU3 CPU4 CPU5  CPU6  CPU7
>  0:      69       0        0        0        0        0        0
>  0   IO-APIC-edge     timer
>  1:       0        1        0        1        0        0        0
>   0   IO-APIC-edge     i8042
>  2:       0        0        0        0        0        0        0
>   0    XT-PIC-XT       cascade
>  4:    6616    3980   3588   9144   4476   7268   8221  12631
> IO-APIC-edge   serial
>  8:       0        0        1        0        0        0        0
>   0   IO-APIC-edge     rtc
> 12:      0        1        2        0        0        0        0
>  0   IO-APIC-edge     i8042
> 14:      0        0        0        0        0        0        0
>  0   IO-APIC-edge     ata_piix
> 15:      0        0        0        0        0        0        0
>  0   IO-APIC-edge     ata_piix
> 19:   1998    1914   1926   2150   1963   2130  2161   2276
> IO-APIC-fasteoi ata_piix
> 202:     1   326209   2        1   549016   570250  0       0
> PCI-MSI-edge     PortH
> 203:     0   325939   418403  1   651746   1       1        1
> PCI-MSI-edge     PortG
> 204:     1        1       0  1524352    1        0        1        2
> PCI-MSI-edge     PortF
> 205:     1        0  1490540   1        0        2        1        1
> PCI-MSI-edge     PortE
> 206:     2  2025716   1        1        2        1        1        2
> PCI-MSI-edge     PortD
> 207: 1881962 1        2        2        1        0        2        1
> PCI-MSI-edge     PortC
> 208:     1    19336    18600   1    26054        1        1        0
> PCI-MSI-edge     PortB
> 209:     3    23297    27551   2    31698        1        3        0
> PCI-MSI-edge     PortA
> 210: 133213  48582  41595 179080  77845  86064  240070  556444
> PCI-MSI-edge     PortL
> 211:     0       1   199112      1       2   520968   692707     1
> PCI-MSI-edge     PortK
> NMI:    0        0        0        0        0        0        0
> 0   Non-maskable interrupts
> LOC: 591051  591001  590979  590957  590933  590912  590891  590869
> Local timer interrupts
> RES:    50       61      161      124      148      218       57
> 162   Rescheduling interrupts
> CAL:   2281     2328     1789   2318    2154     1912     2355
> 1789   function call interrupts
> TLB:    149      162      915      164      797      830      108
> 1094   TLB shootdowns
> TRM:     0        0        0        0        0        0        0
>  0   Thermal event interrupts
> SPU:     0        0        0        0        0        0        0
>  0   Spurious interrupts
> ERR:     0
> MIS:      0
> 
> 
> 
> # cat /proc/irq/202/smp_affinity
> 32

These affinities are buggy.

You put decimal values but kernel expect hexadecimal values.

You should use following power of two values : 

01, 02, 04, 08, 10, 20, 40, 80

> # cat /proc/irq/202/smp_affinity
> 32
> # cat /proc/irq/203/smp_affinity
> 16
> # cat /proc/irq/204/smp_affinity
> 08
> # cat /proc/irq/205/smp_affinity
> 04
> # cat /proc/irq/206/smp_affinity
> 02
> # cat /proc/irq/207/smp_affinity
> 01
> # cat /proc/irq/208/smp_affinity
> 16
> # cat /proc/irq/209/smp_affinity
> 16
> # cat /proc/irq/210/smp_affinity
> ff
> # cat /proc/irq/211/smp_affinity
> 64
> 
> 
> 
> # cat /proc/cpuinfo
> processor       : 0
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 15
> model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
> stepping        : 11
> cpu MHz         : 1995.004
> cache size      : 4096 KB
> physical id     : 0
> siblings        : 4
> core id         : 0
> cpu cores       : 4
> 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 monitor ds_cpl vmx tm2 ssse3
> cx16 xtpr dca lahf_lm
> bogomips        : 3990.00
> clflush size    : 64
> power management:
> 
> processor       : 1
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 15
> model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
> stepping        : 11
> cpu MHz         : 1995.004
> cache size      : 4096 KB
> physical id     : 1
> siblings        : 4
> core id         : 0
> cpu cores       : 4
> apicid          : 4
> initial apicid  : 4
> 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 monitor ds_cpl vmx tm2 ssse3
> cx16 xtpr dca lahf_lm
> bogomips        : 3990.30
> clflush size    : 64
> power management:
> 
> processor       : 2
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 15
> model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
> stepping        : 11
> cpu MHz         : 1995.004
> cache size      : 4096 KB
> physical id     : 0
> siblings        : 4
> core id         : 1
> cpu cores       : 4
> 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 monitor ds_cpl vmx tm2 ssse3
> cx16 xtpr dca lahf_lm
> bogomips        : 3990.31
> clflush size    : 64
> power management:
> 
> processor       : 3
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 15
> model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
> stepping        : 11
> cpu MHz         : 1995.004
> cache size      : 4096 KB
> physical id     : 1
> siblings        : 4
> core id         : 1
> cpu cores       : 4
> apicid          : 5
> initial apicid  : 5
> 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 monitor ds_cpl vmx tm2 ssse3
> cx16 xtpr dca lahf_lm
> bogomips        : 3990.30
> clflush size    : 64
> power management:
> 
> processor       : 4
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 15
> model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
> stepping        : 11
> cpu MHz         : 1995.004
> cache size      : 4096 KB
> physical id     : 0
> siblings        : 4
> core id         : 2
> cpu cores       : 4
> apicid          : 2
> initial apicid  : 2
> 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 monitor ds_cpl vmx tm2 ssse3
> cx16 xtpr dca lahf_lm
> bogomips        : 3990.28
> clflush size    : 64
> power management:
> 
> processor       : 5
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 15
> model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
> stepping        : 11
> cpu MHz         : 1995.004
> cache size      : 4096 KB
> physical id     : 1
> siblings        : 4
> core id         : 2
> cpu cores       : 4
> apicid          : 6
> initial apicid  : 6
> 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 monitor ds_cpl vmx tm2 ssse3
> cx16 xtpr dca lahf_lm
> bogomips        : 3990.31
> clflush size    : 64
> power management:
> 
> processor       : 6
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 15
> model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
> stepping        : 11
> cpu MHz         : 1995.004
> cache size      : 4096 KB
> physical id     : 0
> siblings        : 4
> core id         : 3
> cpu cores       : 4
> apicid          : 3
> initial apicid  : 3
> 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 monitor ds_cpl vmx tm2 ssse3
> cx16 xtpr dca lahf_lm
> bogomips        : 3990.29
> clflush size    : 64
> power management:
> 
> processor       : 7
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 15
> model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
> stepping        : 11
> cpu MHz         : 1995.004
> cache size      : 4096 KB
> physical id     : 1
> siblings        : 4
> core id         : 3
> cpu cores       : 4
> apicid          : 7
> initial apicid  : 7
> 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 monitor ds_cpl vmx tm2 ssse3
> cx16 xtpr dca lahf_lm
> bogomips        : 3990.31
> clflush size    : 64
> power management:
> 
> 
> Regards,
> Krunal


--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux