Messages in this thread | | | Date | Wed, 17 Dec 2003 15:49:19 -0800 | From | Andrew Morton <> | Subject | Re: cciss update for 2.4.24-pre1, 2 of 2 |
| |
Jens Axboe <axboe@suse.de> wrote: > > > + for (i=0; i < 1200; i++) { > > + scratchpad = readl(c->vaddr + SA5_SCRATCHPAD_OFFSET); > > + if (scratchpad == 0xffff0000) { > > + ready = 1; > > + break; > > + } > > + set_current_state(TASK_INTERRUPTIBLE); > > + schedule_timeout(HZ / 10); /* wait 100ms */ > > + } > > + if (!ready) { > > + printk(KERN_WARNING "cciss: Board not ready. Timed out.\n"); > > + return -1; > > + } > > Fine as well, aren't you happy you changed this to schedule_timeout() > instead of busy looping? :)
It will still be a busy loop if this task has a signal pending. TASK_UNINTERRUPTIBLE may be more appropriate... - 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/
| |