Hi, On 2016/02/19 19:01, Thomas Klausner wrote: > On Fri, Feb 19, 2016 at 06:26:14PM +0900, Kengo NAKAHARA wrote: >> According to my measurements of using DTrace, there is a certain >> overhead between kern_malloc() and pool_cache_get(). Here is each >> function's average turnaround times in my measurement. >> >> m_tag_get | 124205 [ns] >> kern_malloc | 108007 [ns] >> kmem_intr_alloc | 89636 [ns] >> pool_cache_get_paddr | 65942 [ns] > > For people like me who are new to dtrace, can you please post the > dtrace script you used to measure?
Sure, I used dscript such as the following. ==================== fbt::m_tag_get:entry { self->trace_on = 1; self->start[probefunc] = timestamp; } fbt::m_tag_get:return { self->trace_on = 0; @turnaround[probefunc] = avg(timestamp - self->start[probefunc]); } fbt:::entry / self->trace_on == 1 / { self->start[probefunc] = timestamp; } fbt:::return / self->trace_on == 1 / { @turnaround[probefunc] = avg(timestamp - self->start[probefunc]); } END { printa(@turnaround); } ==================== I often use the following web site as a reference. http://dtrace.org/guide/preface.html Thanks, -- ////////////////////////////////////////////////////////////////////// Internet Initiative Japan Inc. Device Engineering Section, Core Product Development Department, Product Division, Technology Unit Kengo NAKAHARA <k-nakah...@iij.ad.jp>