Re: 0% cpu usasge after fresh boot or net restart but 10% CPU if kernel flush route cache

cold cold
2010-01-28T18:56:05Z

On Thu, Jan 28, 2010 at 7:06 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> Le jeudi 28 janvier 2010 à 18:26 +0200, cold cold a écrit :
>> On Thu, Jan 28, 2010 at 6:09 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>> > Le jeudi 28 janvier 2010 à 11:14 +0200, cold cold a écrit :
>> >
>> >>
>> >> RX Kpps : 57 TX Kpps : 53  RX Kbits : 331184 TX Kbits : 306213
>> >> RX Kpps : 59 TX Kpps : 54  RX Kbits : 345517 TX Kbits : 304323
>> >> RX Kpps : 56 TX Kpps : 52  RX Kbits : 331418 TX Kbits : 296032
>> >> RX Kpps : 60 TX Kpps : 54  RX Kbits : 362007 TX Kbits : 297371
>> >> RX Kpps : 59 TX Kpps : 52  RX Kbits : 360455 TX Kbits : 280603
>> >>
>> >>
>> >> ON  one cpu, gc_interval to 1, gc_elasticity 2
>> >>
>> >> Cpu0  :  0.0%us,  0.0%sy,  0.0%ni, 72.0%id,  0.0%wa,  8.3%hi, 19.7%si,  0.0%st
>> >> Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>> >> Cpu2  :  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>> >> Cpu3  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>> >>
>> >> ------------------------------------------------------------------------------
>> >>    PerfTop:   17064 irqs/sec  kernel:98.0% [100000 cycles],  (all, 4 CPUs)
>> >> ------------------------------------------------------------------------------
>> >>
>> >>              samples    pcnt   kernel function
>> >>              _______   _____   _______________
>> >>
>> >>             40388.00 - 27.8% : acpi_idle_do_entry
>> >>             24651.00 - 17.0% : read_hpet
>> >>              4271.00 -  2.9% : _spin_lock
>> >>              3388.00 -  2.3% : pskb_expand_head
>> >>              3288.00 -  2.3% : igb_poll [igb]
>> >>              3246.00 -  2.2% : irq_entries_start
>> >>              2868.00 -  2.0% : dev_gro_receive
>> >>              2665.00 -  1.8% : igb_xmit_frame_adv       [igb]
>> >>              2513.00 -  1.7% : ip_route_input
>> >>              2144.00 -  1.5% : igb_clean_tx_irq [igb]
>> >>              1842.00 -  1.3% : __slab_free
>> >>              1544.00 -  1.1% : dev_queue_xmit
>> >>              1423.00 -  1.0% : igb_msix_rx      [igb]
>> >>              1353.00 -  0.9% : __alloc_skb
>> >>              1285.00 -  0.9% : eth_type_trans
>> >> --
>> >
>> > All this seems pretty normal profile (regarding networking functions),
>> > your machine should scale without problem.
>> >
>> > Of course, the two first functions (acpi_idle_do_entry() & read_hpet())
>> > look suspicious but I have no idea why.
>> >
>>
>> i make with flushing without gc on 2 cpu  2 time more traffic  and CPU
>> usage about 5 times less
>>
>> top - 11:22:04 up  6:45,  5 users,  load average: 0.00, 0.10, 0.25
>> Tasks:  84 total,   1 running,  83 sleeping,   0 stopped,   0 zombie
>> Cpu0  :  0.0%us,  0.3%sy,  0.0%ni, 94.0%id,  0.0%wa,  1.7%hi,  4.0%si,  0.0%st
>> Cpu1  :  0.3%us,  0.0%sy,  0.0%ni, 97.7%id,  0.0%wa,  0.7%hi,  1.3%si,  0.0%st
>> Cpu2  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>> Cpu3  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
>>
>
> pure luck I guess, since you use two cpus here instead of one, but
> nothing guarantee this.
>
>>
>> RX Kpps : 90 TX Kpps : 75  RX Kbits : 582791 TX Kbits : 413873
>> RX Kpps : 87 TX Kpps : 74  RX Kbits : 546327 TX Kbits : 415852
>> RX Kpps : 87 TX Kpps : 74  RX Kbits : 544820 TX Kbits : 418339
>> RX Kpps : 88 TX Kpps : 73  RX Kbits : 569143 TX Kbits : 406438
>> --
>
> Not sure I understand your goals. Previous numbers were with less
> trafic ?
>
> What do you want ? your cpus being idle, or your router being able to
> forward packets without drops ?
>
> Good, but if you drop packets when real garbage collection is done, you
> loose. Make your choice :)
>
>

what you mean drop packets ?

i test 2 different things and shearing results with you
first test with high CPU is with garbage collection function
second results represent CPU usage with totally disabled garbage collection