Re: hashed spinlocks

From: Daniel Walker
Date: Sun Jul 31 2005 - 14:09:39 EST


On Sun, 2005-07-31 at 11:46 -0700, David S. Miller wrote:
> From: Daniel Walker <dwalker@xxxxxxxxxx>
> Date: Sun, 31 Jul 2005 09:27:55 -0700
>
> > >From 2.6.13-rc4 this hunk
> >
> > +#else
> > +# define rt_hash_lock_addr(slot) NULL
> > +# define rt_hash_lock_init()
> > +#endif
> >
> > Doesn't work with the following,
> >
> > + spin_unlock(rt_hash_lock_addr(i));
> >
> >
> > Cause your spin locking a NULL .. I would give a patch, but I'm not sure
> > what should be done in this case..
>
> That spinlock debugging code is such a pain in the butt,
> nothing at all should be happening with spinlocks on
> a non-SMP build.
>
> We should just change the route.c ifdef to check for
> CONFIG_DEBUG_SPINLOCK as well as CONFIG_SMP, in order
> to fix this.

The ifdef that switched between the two rt_hash_lock_addr() switched on
for CONFIG_SMP or CONFIG_DEBUG_SPINLOCK . I was compiling UP , so I
didn't get either.

Seems like you'll need to have an rt_hash_lock(slot) that replaces the
spin_lock calls ..

Daniel


-
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/