Re: locking hierarchy based on lockdep

From: Ingo Molnar
Date: Tue Nov 07 2006 - 18:55:01 EST



* Jason Baron <jbaron@xxxxxxxxxx> wrote:

> > this would certainly be the simplest thing to do - we could extend
> > /proc/lockdep with the list of 'immediately after' locks separated by
> > commas. (that list already exists: it's the lock_class.locks_after list)
>
> So below is patch that does what you suggest, although i had to add
> the concept of 'distance' to the patch since the locks_after list
> loses this dependency info afaict. i also wrote a user space program
> to sort the locks into cluster of interelated locks and then sorted
> within these clusters...the results show one large clump of
> locks...perhaps there are a few locks that time them all together like
> scheduler locks...but i couldn't figure out which ones to exclude to
> make the list look really pretty (also, there could be a bug in my
> program :). Anyways i'm including my test program and its output
> too...

nice!

small detail: i'm wondering why 'distance' is needed explicitly? The
dependency graph as it is represented by locks_after should be a full
representation of all locking dependencies. What is the intended
definition of 'distance' - the distance from the root of the dependency
tree? (Maybe i'm misunderstanding what you are trying to achieve.)

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