Re: [PATCH 3/3] 2.6.0 aacraid driver update

From: Jeff Garzik
Date: Mon Oct 06 2003 - 17:07:42 EST


Matthew Wilcox wrote:
On Mon, Oct 06, 2003 at 05:48:58PM -0400, Jeff Garzik wrote:

+ /*
+ * Yield the processor in case we are slow + */
+ set_current_state(TASK_UNINTERRUPTIBLE);
+ schedule_timeout(1);

hmmm... why not simply call yield() here instead? I think yield() is closer to the intent you wish to achieve...


Gods, no. I believe it is always a bug for drivers to call yield()
in 2.6. What is probably meant here is cond_resched(). I'd support
deleting the EXPORT_SYMBOL(yield) line and fixing the breakage afterwards
as it causes lots of very subtle breakage ("Under certain circumstances,
Linux just stops doing anything for 5 seconds").


Yes, you're right, and thank you for the correction. I was thinking

if (need_resched)
schedule();

which I incorrectly translated to yield() when searching my brain for the 2.6 equivalent.

Jeff



-
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/