Re: odd lockdep messages

From: Valdis . Kletnieks
Date: Mon Mar 08 2010 - 15:02:47 EST


On Mon, 08 Mar 2010 19:43:51 +0100, Peter Zijlstra said:
> On Mon, 2010-03-08 at 13:30 -0500, Valdis.Kletnieks@xxxxxx wrote:
> > (Not sure when this started, just noticed it... Wasn't present in
> > 2.6.33-rc7-mmotm0210, is in 2.6.33-mmotm0302 and -mmotm0304).
> >
> > Seen in dmesg:

> > [ 1.012163] BUG: key ffff88011efbf500 not in .data!
> > [ 1.012284] BUG: key ffff88011efbf548 not in .data!

> Can that be wreckage due to the new per-cpu stuff?
>
> Its a message printed when the below function fails, and that per-cpu
> stuff seems the one most likely to break, given that there was quite a
> lot of churn in that department recently.

Would it make sense to stick some printk's on the 'return 1' cases

> /*
> * static variable?
> */
> if ((addr >= start) && (addr < end))
> return 1;
>
> if (arch_is_kernel_data(addr))
> return 1;
>
> #ifdef CONFIG_SMP
> /*
> * percpu var?
> */
> for_each_possible_cpu(i) {
> start = (unsigned long) &__per_cpu_start + per_cpu_offset(i);
> end = (unsigned long) &__per_cpu_start + PERCPU_ENOUGH_ROOM
> + per_cpu_offset(i);
>
> if ((addr >= start) && (addr < end))
> return 1;

or am I setting myself up for printk spam from hell if I do that?

Attachment: pgp00000.pgp
Description: PGP signature