lkml.org 
[lkml]   [2010]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: Question about lock sequence
    From
    Date
    On Sat, 2010-04-10 at 19:44 +0900, Hitoshi Mitake wrote:
    > Hi,
    >
    > I found that my understand about lockdep is completely wrong :( ,
    > so state machine of perf lock should be fixed before optimization.
    >
    > And I found that behaviour related to some of spin locks are strange.
    > The concrete example is lock sequences targeting dcache_lock (defined in
    > head of fs/dcache.c).
    >
    > I made a little (and not essential) change to perf lock, and observe
    > lock sequence targeting it.
    > Changed perf lock shows sequence of locks in time order,
    > and I grepped the output of it with dcache, like this:
    >
    > % sudo ./perf lock report | grep dcache
    >
    > The head part of result is this:
    > # <name>-<pid> <time (in u64)> <action> <address of lockdep> <name of lock>
    > perf-3238 92430534170 acquire: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92430536714 acquire: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92431444481 acquire: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92431446061 acquired: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92431448157 acquire: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92431449670 acquired: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92432371136 acquire: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92432372712 acquired: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92432374718 acquire: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92432376173 acquired: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92433315563 acquire: 0xffffffff81a4b398 dcache_lock
    > perf-3238 92433317173 acquired: 0xffffffff81a4b398 dcache_lock
    >
    > There are too many acquire and acquired without corresponding release
    > (or contended).
    > If dcache_lock is rwlock and these acquires mean read locks, this is not
    > so strange.
    > But, for me, this is a pattern of dead lock.
    > Of course perf lock finished its work, so there is no actual dead lock.
    >
    > If you know something about this behaviour of lock, could you tell me?

    Well dcache_lock is a regular spinlock and there is only one of them, my
    guess is that your timeline got messed up somehow.

    Also, there doesn't appear to be a proper balance between acquires and
    releases.




    \
     
     \ /
      Last update: 2010-04-10 16:03    [W:0.023 / U:151.272 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site