Re: spin_lock_irqsave and multi-core

2010-03-31 Thread Benjamin Herrenschmidt
On Thu, 2010-04-01 at 11:18 +0800, gshan wrote: > I agree with you. Actually, I can disable the individual interrupt via > disable_irq_sync() to make sure > system cooherence. This is also a very heavy hammer and not recommended at all. In most case, you don't need that either. Also don't forget

Re: spin_lock_irqsave and multi-core

2010-03-31 Thread gshan
Then your driver is most certainly doing something wrong :-) No driver needs that. Ever. What is it trying to do more precisely ? I might be able to explain what the right approach is if you can tell me what the driver is trying to disable all system IRQs for ? Keep in mind that local_irq_save

Re: spin_lock_irqsave and multi-core

2010-03-31 Thread gshan
Benjamin Herrenschmidt wrote: On Thu, 2010-04-01 at 09:59 +0800, gshan wrote: On multi-core system, spin_lock_irqsave() can stop all CPU cores receiving interrupts? No. Thanks a lot for your answer. If the answer is no, what we can do to disable extern

Re: spin_lock_irqsave and multi-core

2010-03-31 Thread Benjamin Herrenschmidt
On Thu, 2010-04-01 at 10:41 +0800, gshan wrote: > One of my private driver need it. I don't know how to do it. Then your driver is most certainly doing something wrong :-) No driver needs that. Ever. What is it trying to do more precisely ? I might be able to explain what the right approach is i

Re: spin_lock_irqsave and multi-core

2010-03-31 Thread Benjamin Herrenschmidt
On Thu, 2010-04-01 at 09:59 +0800, gshan wrote: > On multi-core system, spin_lock_irqsave() can stop all CPU cores > receiving interrupts? No. > If the answer is no, what we can do to disable external interrupt for > all CPU cores? You don't :-) Really, you generally don't. Why would you want

spin_lock_irqsave and multi-core

2010-03-31 Thread gshan
I got a question when reading source code. Hope somebody can give me the answer. On multi-core system, spin_lock_irqsave() can stop all CPU cores receiving interrupts? If the answer is no, what we can do to disable external interrupt for all CPU cores? Thanks, Gavin ___