Messages in this thread | | | From | Kirill Tkhai <> | Subject | Re: [PATCH 1/2] sched: Add schedule_(raw_)spin_unlock and schedule_(raw_)spin_unlock_irq | Date | Tue, 18 Jun 2013 21:46:14 +0400 |
| |
18.06.2013, 21:28, "Peter Zijlstra" <peterz@infradead.org>: > On Tue, Jun 18, 2013 at 07:36:52PM +0400, Kirill Tkhai wrote: > >> Helpers for replacement repeating patterns: >> >> 1)spin_unlock(lock); >> schedule(); >> 2)spin_unlock_irq(lock); >> schedule(); > > I just noticed this; the existing schedule_preempt_disabled() is > equivalent to: > > preempt_enable() > schedule() > preempt_disable() > > So I somewhat expected these new primitives to be: > > spin_unlock() > schedule() > spin_lock() > > Now I haven't actually looked at the usage patch to see what the > converted sites look like (thanks for adding that one though!). > > My OCD just triggered on the preemption and locked schedule calls having > different semantics.
They have different semantic and different ending.
Many places (as you can see from the second patch) need additional actions between schedule() and next spin_lock(). Several places don't do the second lock.
Kirill -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |