Messages in this thread | | | Date | Wed, 11 May 2011 18:26:10 +0200 | From | Juri Lelli <> | Subject | lock_stat &rq->lock/1 class name meaning |
| |
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 190.53 103881.26 97454 3453404 0.00 401.11 13224683.11 --------- &rq->lock 645 [<ffffffff8103bfc4>] task_rq_lock+0x43/0x75 &rq->lock 297 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a &rq->lock 360 [<ffffffff8103c4c5>] select_task_rq_fair+0x1f0/0x74a &rq->lock 428 [<ffffffff81045f98>] scheduler_tick+0x46/0x1fb --------- &rq->lock 77 [<ffffffff8103bfc4>] task_rq_lock+0x43/0x75 &rq->lock 174 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a &rq->lock 4715 [<ffffffff8103ed4b>] double_rq_lock+0x42/0x54 &rq->lock 893 [<ffffffff81340524>] schedule+0x157/0x7b8 . . . ... &rq->lock/1: 11526 11488 0.33 388.73 136294.31 21461 38404 0.00 37.93 109388.53 ----------- &rq->lock/1 11526 [<ffffffff8103ed58>] double_rq_lock+0x4f/0x54 ----------- &rq->lock/1 5645 [<ffffffff8103ed4b>] double_rq_lock+0x42/0x54 &rq->lock/1 1224 [<ffffffff81340524>] schedule+0x157/0x7b8 &rq->lock/1 4336 [<ffffffff8103ed58>] double_rq_lock+0x4f/0x54 &rq->lock/1 181 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a
I guess the first one is about the per-rq (per-CPU) spinlock, but what about the second? What the "/1" stands for? Since every rq has a different spinlock, does &rq->lock group numbers from all the runqueues?
Thanks a lot, Juri
| |