Re: select_task_rq_fair: WARNING: at kernel/lockdep.cmatch_held_lock

From: Peter Zijlstra
Date: Thu Aug 04 2011 - 11:58:39 EST


On Thu, 2011-08-04 at 18:53 +0300, Sergey Senozhatsky wrote:
> On (08/04/11 17:47), Peter Zijlstra wrote:
> > On Thu, 2011-08-04 at 18:37 +0300, Sergey Senozhatsky wrote:
> > > > > [ 132.794685] WARNING: at kernel/lockdep.c:3117 match_held_lock+0xf6/0x12e()
> >
> > Just to double check, that line is:
> >
> > if (DEBUG_LOCKS_WARN_ON(!hlock->nest_lock))
> >
> > in your kernel source?
> >
>
> Nope, that's `if (DEBUG_LOCKS_WARN_ON(!class))'
>
> 3106 static int match_held_lock(struct held_lock *hlock, struct lockdep_map *lock)
> 3107 {
> 3108 if (hlock->instance == lock)
> 3109 return 1;
> 3110
> 3111 if (hlock->references) {
> 3112 struct lock_class *class = lock->class_cache[0];
> 3113
> 3114 if (!class)
> 3115 class = look_up_lock_class(lock, 0);
> 3116
> 3117 if (DEBUG_LOCKS_WARN_ON(!class))
> 3118 return 0;
> 3119
> 3120 if (DEBUG_LOCKS_WARN_ON(!hlock->nest_lock))
> 3121 return 0;
> 3122
> 3123 if (hlock->class_idx == class - lock_classes + 1)
> 3124 return 1;
> 3125 }
> 3126
> 3127 return 0;
> 3128 }
> 3129

Ah, in that case my previous analysis was pointless and I shall need to
scratch my head some more.
--
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/