LOCK_PROFILING(9) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

LOCK_PROFILING(9)

The  kernel  option adds support for measuring and reporting lock
use and contention statistics.  These statistics are collated  by
Acquisition  points are distinct places in the kernel source code
(identified by source file name and line number) where a lock  is
acquired.   For  each acquisition point, the following statistics
are accumulated: The longest time the lock was ever  continuously
held after being acquired at this point.  The total time the lock
was held after being acquired at this point.  The total time that
threads have spent waiting to acquire the lock.  The total number
of  non-recursive  acquisitions.   The  total number of times the
lock was already held by  another  thread  when  this  point  was
reached,  requiring a spin or a sleep.  The total number of times
another thread tried to acquire the lock while it was held  after
having  been  acquired  at  this point.  In addition, the average
hold time and average wait time are derived from the  total  hold
time  and total wait time respectively and the number of acquisi‐
tions.  The kernel option also adds the  following  variables  to
control  and  monitor  the  profiling code: Enable or disable the
lock profiling code.  This defaults to 0 (off).  Reset  the  cur‐
rent  lock profiling buffers.  The actual profiling statistics in
plain text.  The columns are as follows, from left to right:  The
longest  continuous  hold time in microseconds.  The longest con‐
tinuous wait time in microseconds.  The total (accumulated)  hold
time  in  microseconds.  The total (accumulated) wait time in mi‐
croseconds.  The total number of acquisitions.  The average  hold
time  in  microseconds,  derived from the total hold time and the
number of acquisitions.  The average wait time  in  microseconds,
derived  from the total wait time and the number of acquisitions.
The number of times the lock was  held  and  another  thread  at‐
tempted  to  acquire  the lock.  The number of times the lock was
already held when this point was reached.  The name of the acqui‐
sition point, derived from the source file name and line  number,
followed  by  the name of the lock in parentheses.  The number of
acquisition points that were ignored after the table  filled  up.
Disable  or  enable  the  lock profiling code for the spin locks.
This defaults to 0 (do profiling for the spin  locks).   Do  sam‐
pling  approximately  every N lock acquisitions.  Mutex profiling
support appeared in Generalized lock profiling  support  appeared
in  The code was written by and The code was written by This man‐
ual page was written by The option increases the  size  of  so  a
kernel  built  with  that option will not work with modules built
without it.  The option also prevents inlining of the mutex code,
which can result in a fairly severe  performance  penalty.   This
is,  however,  not  always the case.  can introduce a substantial
performance overhead that is easily monitorable using other  pro‐
filing  tools,  so  combining  profiling tools with is not recom‐
mended.  Measurements are made and stored  in  nanoseconds  using
(on  architectures  without a synchronized TSC) but are presented
in microseconds.  This should still be sufficient for  the  locks
one  would  be  most interested in profiling (those that are held
long and/or acquired often).  should generally  not  be  used  in
combination  with  other debugging options, as the results may be
strongly affected by interactions between the features.  In  par‐
ticular,  will report higher than normal lock contention when run
with due to extra locking that occurs when is present;  likewise,
using  it  in combination with will lead to much higher lock hold
times and contention in profiling output.









맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3