Hi,


I am doing flat profiling for custom kernel code on hardware

with multiple CPUs. Just wanted to verify if i am doing things correctly.



If your’e still interested, read on. The way I collect the gmon.* files is
by doing:



For each CPU [0..3] {

       #switch cpu by using sysctl….

       kgmon –r # reset

       kgmon –b # start

}



 (sleep for 1min/10mins and let the code do its job)



For each CPU [0..3] {

       #switch cpu by using sysctl….

       kgmon –h # stop

}



#dumps the gmon.* files which I make sense with by using gprof.



For 1 min delays, I get smooth , consistent sampling profiles:

*Sampling when profiling ios done for 60 seconds/1min*

gprof.out.0.4:granularity: each sample hit covers 16 byte(s) for 0.00% of
65.06 seconds
gprof.out.1.4:granularity: each sample hit covers 16 byte(s) for 0.00% of
65.02 seconds
gprof.out.2.4:granularity: each sample hit covers 16 byte(s) for 0.00% of
65.05 seconds
gprof.out.3.4:granularity: each sample hit covers 16 byte(s) for 0.00% of
65.12 seconds



It turns out that the sampling numbers are skewed once the sampling time
goes to 10mins…

*Sampling when profiling ios done for 600 seconds/10mins*

gprof.out.0:granularity: each sample hit covers 16 byte(s) for 0.00% of
304.74 seconds
gprof.out.1:granularity: each sample hit covers 16 byte(s) for 0.00% of
403.11 seconds
gprof.out.2granularity: each sample hit covers 16 byte(s) for 0.00% of
501.55 seconds
gprof.out.3:granularity: each sample hit covers 16 byte(s) for 0.00% of
206.47 seconds



No I cant fathom why… if you do have any idea why, I’d appreciate it.



Thanks

rohit
_______________________________________________
freebsd-performance@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscr...@freebsd.org"

Reply via email to