On Sunday 13 August 2006 07:48, Andrew Morton wrote:
> On Thu, 10 Aug 2006 21:37:07 +0200 (CEST)
> Andi Kleen <[email protected]> wrote:
>
> > This is a preparationary patch for converting stacktrace over to the
> > new dwarf2 unwinder. lockdep uses stacktrace and the new unwinder
> > takes the modlist_lock so using a normal spinlock would cause a deadlock.
> > Use a raw lock instead.
> >
>
> It breaks the build on most architectures.
Hmm, I grepped and most architectures seem to have both __raw_spin_lock
and local_save_flags. I didn't actually compile them because crosstool
doesn't love me anymore since I use gcc 4.0.
What is the official portable interface to do a raw spinlock
if this one doesn't work?
> > - spin_lock_irqsave(&modlist_lock, flags);
> > + raw_local_save_flags(flags);
> > + __raw_spin_lock(&modlist_lock);
> > if (!__find_symbol(symbol, &owner, &crc, 1))
> > BUG();
> > module_put(owner);
> > - spin_unlock_irqrestore(&modlist_lock, flags);
> > + __raw_spin_unlock(&modlist_lock);
> > + raw_local_irq_restore(flags);
>
> That looks fairly hacky. Wouldn't it be better to implement
> raw_spin_lock_irqsave()?
Possible.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]