Re: [PATCH for review] [109/145] x86_64: Convert modlist_lock to be a raw spinlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux