On Wed, 25 Sep 2013 10:49:36 +0300 Ville Syrjälä ville.syrjala@linux.intel.com wrote:
The preempt_disable/enable is not needed. The spinlock serves the same purpose already.
As stated, that was only for the -rt patch, as spin_lock_irqsave does not disable preemption nor does it even disable interrupts.
But I agree, the added preempt_disable() should be sent to us to keep in the -rt patch itself. We really appreciate that you are thinking about us :-) But something like this will just confuse the mainline folks. Having a "preempt_disable_rt()" would make a lot more sense (which exists in the -rt patch).
As far as ktime_get(), I've used it from spinlocked/irq disabled sections and so far haven't seen it do bad things. But would be nice to get some official statement to that effect.
It's just a read seqlock. It may do a few loops to get the correct time, but it's fine to have in a preempt/irq disabled section.
-- Steve