Re: [PATCH 1/7] locking/rwsem: don't resched at the end of optimistic spinning

From: Waiman Long
Date: Mon Aug 04 2014 - 14:36:45 EST


On 08/04/2014 03:55 AM, Peter Zijlstra wrote:
On Sun, Aug 03, 2014 at 10:36:16PM -0400, Waiman Long wrote:
For a fully preemptive kernel, a call to preempt_enable() could
potentially trigger a task rescheduling event. In the case of rwsem
optimistic spinning, the task has either gotten the lock or is going
to sleep soon. So there is no point to do rescheduling here.
Uh what? Why shouldn't we preempt if we've gotten the lock? What if a
FIFO task just woke up?

I didn't mean that we shouldn't preempt if there is a higher priority task. I am sure that there will be other preemption points along the way that a higher priority task can take over the CPU. I just want to say that doing it here may not be the best place especially if the task is going to sleep soon.

If you think this patch does not make sense, I can remove it as other patches in the set has no dependency on this one.

-Longman
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/