CPU underload

Eugene Grosbein eugen at grosbein.net
Sat Oct 31 17:57:34 UTC 2015


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