Hi John,
The changes you have done for atomic_dec_and_lock() in Lockmeter v1.4.10
does not seem to give correct statistics. As with your changes now the lock
is taken all the time in atomic_dec_and_lock, which is not the case without
lockmeter. This leads to wrong analysis of locks.
If you want to see what's the difference just look at the folowing numbers
With Lockmeter v1.4.10
----------------------
6.3% 9.2% 0.4us(1659us) 3.4us(1648us)( 1.3%) 23182304 90.8% 9.2% 0%
dcache_lock
2.3% 6.4% 0.3us( 120us) 3.3us(1379us)(0.48%) 12336769 93.6% 6.4% 0%
dput+0x18
Making actual atomic_dec_and_lock inline
----------------------------------------
4.0% 8.6% 0.5us(1333us) 1.9us(1309us)(0.35%) 11940384 91.4% 8.6% 0%
dcache_lock
0.3% 7.0% 0.4us( 191us) 1.9us(1197us)(0.03%) 1096658 93.0% 7.0% 0%
dput+0x30
There is a difference of more than 10 times in number of times dcache_lock is
taken from dput. I didnot face any problem in making the actual
atomic_dec_and_lock() inline and could not understand why you choose the less
efficient version.
Regards,
Maneesh
--
Maneesh Soni
IBM Linux Technology Center,
IBM India Software Lab, Bangalore.
Phone: +91-80-5044999 email: maneesh@xxxxxxxxxx
http://lse.sourceforge.net/locking/rcupdate.html
|