CPU underload

Eugene Grosbein eugen at grosbein.net
Sat Oct 31 08:56:34 UTC 2015


On 31.10.2015 15:48, Eugene Grosbein wrote:
> Hi!
> 
> I'm trying to get familiar with PMC and uncover reason of MIPS32
> CPU being underloaded - about 50% - while performing traffic forwarding.
> 
> It seems, kernel code abuses DELAY function as "pmcstat -S instructions -T" shows:

[skip]
 
> And why so heavy usage of _libmd_SHA256_Transf ?

Well, it seems to be kern.random.harvest is guity for SHA256 abuse.
I've set sysctl kern.random.harvest.mask=0 and now it' gone:

PMC: [INSTR_EXECUTED] Samples: 7490 (100.0%) , 0 unresolved

%SAMP IMAGE      FUNCTION             CALLERS
  4.6 kernel     ip_fastforward
  4.5 kernel     memcpy
  4.4 kernel     DELAY
  3.9 kernel     arge_start_locked
  3.8 kernel     _bus_dmamap_load_buf
  3.2 kernel     ether_nh_input
  3.1 kernel     if_inc_counter
  3.0 kernel     arge_intr
  3.0 kernel     ether_output
  2.9 kernel     _bus_dmamap_sync
  2.6 kernel     bzero
  2.6 kernel     critical_enter
  2.4 kernel     critical_exit
  2.3 kernel     bus_dmamap_sync_buf
  2.2 kernel     _rw_runlock_cookie
  2.1 kernel     rn_match
  1.9 kernel     __rw_rlock
  1.7 kernel     netisr_dispatch_src
  1.5 kernel     spinlock_exit
  1.5 kernel     uma_zalloc_arg
  1.5 kernel     generic_bs_barrier
  1.4 kernel     _bus_dmamap_load_mbu
  1.4 kernel     arge_newbuf
  1.4 kernel     _rm_rlock
  1.4 kernel     m_adj
  1.4 libpmc.so. pmclog_read
  1.4 kernel     mipsNN_pdcache_wb_ra
  1.4 kernel     arpresolve
  1.3 kernel     bcmp
  1.3 kernel     ether_demux
  1.3 kernel     mipsNN_pdcache_inv_r
  1.3 kernel     _bus_dmamap_unload
  1.2 kernel     uma_zfree_arg
  1.2 kernel     if_transmit
  1.2 kernel     bus_dmamap_load_mbuf
  1.1 kernel     _rm_runlock
  1.0 kernel     rtfree
CONVERSION STATISTICS:oc1_fib
 #exec/elf                                1
 #samples/total                           102761
 #samples/unknown-function                2939
 #callchain/dubious-frames                23

Still too many of DELAYs.



More information about the freebsd-mips mailing list