Re: route cache DoS testing and softirqs

From: Robert Olsson (Robert.Olsson_at_data.slu.se)
Date: 03/31/04

  • Next message: Sam Ravnborg: "Re: help: kernel 2.6.x module programming tutorial"
    Date:	Wed, 31 Mar 2004 20:46:09 +0200
    To: dipankar@in.ibm.com
    
    
    

    Dipankar Sarma writes:
    > And I am not. I am still on 2.6.0 and there seems to be no NAPI support
    > for the e100 there. Should I try 2.6.4 where e100 has NAPI support ?
    >
    > Anyway, even without softirqs on the back of hardirqs, there are
    > other ways of softirq overload as seen in Robert's setup.

    Well I see some hardirq's most from TX and timer interrups and HZ=1000 can
    can change the way softirq's are run a bit.

    I hacked do_softirq() sources so we can understand how things work a bit
    better. (Use fastroute stats from /proc/net/softnet_stat).

    ksoftird == softirq's sourced from ksofttirq
    irqexit == softirq's sourced from interrupt exit
    bh_enbl == softirq's sourced local_bh_enable

    Before run

    total droppped tsquz throttl bh_enbl ksoftird irqexit other
    00000000 00000000 00000000 00000000 000000e8 0000017e 00030411 00000000
    00000000 00000000 00000000 00000000 000000ae 00000277 00030349 00000000

    After DoS (See description from previous mail)

    total droppped tsquz throttl bh_enbl ksoftird irqexit other
    00164c55 00000000 000021de 00000000 000000fc 0000229f 0003443c 00000000
    001695e7 00000000 0000224d 00000000 00000162 0000236f 000342f7 00000000

    So the major part of softirq's are run from irqexit and therefor out of
    scheduler control. This even with RX polling (eth0, eth2) We still have
    some TX interrupts plus timer interrupts now at 1000Hz. Which probably
    reduces the number of softirq's that ksoftirqd runs.

              CPU0 CPU1
      0: 297156 0 IO-APIC-edge timer
      1: 431 0 IO-APIC-edge i8042
      2: 0 0 XT-PIC cascade
      8: 0 0 IO-APIC-edge rtc
     14: 34527 0 IO-APIC-edge ide0
     26: 131 0 IO-APIC-level eth0
     27: 22910 0 IO-APIC-level eth1
     28: 8 124 IO-APIC-level eth2
     29: 9 23197 IO-APIC-level eth3
    NMI: 0 0
    LOC: 297060 297059

    
    
    

    Cheers.
                                                    --ro

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/



  • Next message: Sam Ravnborg: "Re: help: kernel 2.6.x module programming tutorial"