lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4DCBCE56.2010607@gmail.com>
Date:	Thu, 12 May 2011 14:11:02 +0200
From:	Juri Lelli <juri.lelli@...il.com>
To:	Yong Zhang <yong.zhang0@...il.com>
CC:	linux-kernel@...r.kernel.org
Subject: Re: lock_stat &rq->lock/1 class name meaning

Thanks!

On 05/12/2011 12:57 PM, Yong Zhang wrote:
> On Wed, May 11, 2011 at 06:26:10PM +0200, Juri Lelli wrote:
>> Hi,
>> I'm trying to collect contention statistics through /proc/lock_stat
>> about scheduler data structures.
>>
>> What I obtain if a do "cat /proc/lock_stat" is something like:
>> ...
>> &rq->lock:         13128          13128           0.43
>> [...]
>>
>> I guess the first one is about the per-rq (per-CPU) spinlock, but
>> what about the second? What the "/1" stands for?
>
> It is also rq but it's subclass is 1.
>
> Take a look at raw_spin_lock_nested(&this_rq->lock, SINGLE_DEPTH_NESTING);
> in _double_lock_balance()

Ok, I've put more light on this also looking at lockdep.h comments and 
lockdep-design documentation.

Since I'm probably not the only one having troubles undestanding 
lock_stat output, maybe could be useful to add something on this inside 
lockstat documentation (I can try to do this). What you think?

	Juri
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ