[PATCH 0/7] ppc: remove cli()/sti() from arch/ppc/*

Jim Nelson james4765 at cwazy.co.uk
Wed Jan 5 22:19:31 EST 2005


Christoph Hellwig wrote:
> On Tue, Jan 04, 2005 at 09:44:06PM -0500, Jim Nelson wrote:
> 
>>Brian Gerst wrote:
>>
>>
>>>James Nelson wrote:
>>>
>>>
>>>>This series of patches is to remove the last cli()/sti() function 
>>>>calls in arch/ppc.
>>>>
>>>>These are the only instances in active code that grep could find.
>>>
>>>
>>>Are you sure none of these need real spinlocks instead of just 
>>>disabling interrupts?
>>>
>>>-- 
>>>               Brian Gerst
>>>
>>
>>These are for single-processor systems, mostly evaluation boards and 
>>embedded processors.  I coudn't find any reference to multiprocessor 
>>setups for the processors in question after a peruse of the code or a 
>>quick google on the boards in question.
> 
> 
> think CONFIG_PREEMPT.  In either case a spinlock becomes
> lock_irq_disable in the !SMP, !PREEMPT case but it documents the
> intention a whole lot better.
> 
> Also you're locking only in a single plpace which is a ***BIG*** warning
> sign.  At least look at the other users of the data structure, it's
> extremly likely they'll need locking aswell.
> 

Some of the cli() uses were in shutdown and IRQ setup code, where you'd just need 
to disable interrupts.  There are a few files that will need a more thourough 
going-through, however.

I'll start checking those later.

Jim



More information about the Linuxppc-dev mailing list