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