Christoph Hellwig wrote:
>
> On Tue, Jan 08, 2002 at 01:57:28PM -0500, Robert Love wrote:
> > Why not use the more commonly named conditional_schedule instead of
> > preempt() ? In addition to being more in-use (low-latency, lock-break,
> > and Andrea's aa patch all use it) I think it better conveys its meaning,
> > which is a schedule() but only conditionally.
>
> I think the choice is very subjective, but I prefer preempt().
> It's nicely short to type (!) and similar in spirit to Ingo's yield()..
>
naah. preempt() means preempt. But the implementation
is in fact maybe_preempt(), or preempt_if_needed().
I use (verbosely) (simplified):
#define conditional_schedule_needed() unlikely(current->need_resched)
#define unconditional_schedule() do {
__set_current_state(TASK_RUNNING)
schedule();
} while(0);
#define conditional_schedule() if (conditional_schedule_needed())
unconditional_schedule();
...
foo()
{
...
conditional_schedule();
...
}
bar()
{
...
if (conditional_schedule_needed()) {
spin_unlock(&piggy_lock);
unconditional_schedule();
spin_lock(&piggy_lock);
goto clean_up_mess;
}
...
}
-
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/
This archive was generated by hypermail 2b29 : Tue Jan 15 2002 - 21:00:23 EST