CPU underload

Adrian Chadd adrian.chadd at gmail.com
Sat Oct 31 18:11:35 UTC 2015


Hi,

I don't see any DELAY in my testing, nor MipsUserIntr, so yeah, I must
be doing something different.

I am testing on QCA9558, not AR9344 though. My AR9344 isn't with me atm.

Just run 'top'; what's showing? Are there other processes running? Is
devd doing something stupid? Does 'dmesg' show the switch ports
flapping or something?

My CPU is definitely pegged during these tests. Since yours isn't then
yeah, something odd is going on.

Can you post the output of 'vmstat 1' whilst you're running your tests?



-adrian


On 31 October 2015 at 13:57, Eugene Grosbein <eugen at grosbein.net> wrote:
> On 31.10.2015 19:52, Adrian Chadd wrote:
>> hi,
>>
>> there's a mips callchain kernel option. Sorry, I'm on my mac atm so I
>> can't tell you. look in sys/conf/options for callchain, callgraph,
>> etc. It's a build option.
>>
>> Just rebuild your kernel with that and check.
>
> Please tell me how do you test bridging performance.
> I've tried to test inter-vlan bridging using FTP transit traffic
> and it is still not very fast, although a bit faster than forwarding:
> 37MByte/s according to systat -ifstat.
>
> The system still has half of CPU cycles idle and
> "if_inc_counter" has surprisingly high counters:
>
> PMC: [INSTR_EXECUTED] Samples: 5181 (100.0%) , 447 unresolved
>
> %SAMP IMAGE      FUNCTION             CALLERS
>   9.1 kernel     MipsUserIntr
>   7.6 kernel     if_inc_counter       vlan_transmit:1.8 ether_nh_input:1.1 arge_tx_locked:0.6 if_transmit:0.5
>   5.2 kernel     DELAY
>   4.2 kernel     ether_nh_input       netisr_dispatch_src
>   4.1 kernel     _bus_dmamap_load_buf _bus_dmamap_load_mbuf_sg
>   3.9 kernel     arge_start_locked    arge_start
>   3.4 kernel     _bus_dmamap_sync     arge_start_locked:1.2 arge_newbuf:0.9 arge_rx_locked:0.8
>   3.1 kernel     memcpy
>   2.8 kernel     critical_exit        if_inc_counter
>   2.5 kernel     critical_enter
>   2.0 kernel     arge_newbuf          arge_rx_locked
>   2.0 kernel     bus_dmamap_sync_buf
>   1.8 kernel     netisr_dispatch_src  netisr_dispatch
>   1.8 kernel     _bus_dmamap_load_mbu bus_dmamap_load_mbuf_sg
>   1.7 kernel     vlan_transmit
>   1.6 kernel     bus_dmamap_load_mbuf arge_newbuf:1.0 arge_start_locked:0.6
>   1.5 kernel     arge_rx_locked       arge_intr
>   1.5 kernel     mipsNN_pdcache_inv_r
>   1.5 kernel     generic_bs_barrier
>   1.5 kernel     _bus_dmamap_unload   arge_tx_locked:0.8 arge_newbuf:0.7
>   1.5 kernel     arge_tx_locked       arge_intr
>   1.4 kernel     bzero
>   1.4 kernel     mb_ctor_pack         uma_zalloc_arg
>   1.4 libc.so.7  bsearch              pmcstat_symbol_search
>   1.4 kernel     if_transmit          vlan_transmit
>   1.3 kernel     memcmp
>   1.2 libpmc.so. pmclog_read          pmcstat_process_log
>   1.2 kernel     vlan_input           ether_demux
>   1.2 kernel     mipsNN_pdcache_wb_ra
>   1.2 kernel     arge_start           if_start
>   1.2 kernel     m_adj                arge_newbuf
>   1.1 kernel     _rm_rlock            vlan_input
>   1.0 kernel     uma_zalloc_arg       arge_newbuf
>   0.9 kernel     trap                 MipsUserGenException
>   0.9 kernel     ar934x_chip_ddr_flus arge_flush_ddr
>   0.9 kernel     _bus_dmamap_addseg
>   0.8 kernel     uma_zfree_arg        mb_free_ext
>   0.8 kernel     m_freem              arge_tx_locked
> CONVERSION STATISTICS:unlock          vlan_input
>  #samples/total                           179577
>  #samples/unknown-function                5253
>  #callchain/dubious-frames                17747
>


More information about the freebsd-mips mailing list