Re: Asynch I/O broken in 2.2.15

Steve Dodd (steved@loth.demon.co.uk)
Thu, 13 Apr 2000 21:27:27 +0100


On Thu, Apr 13, 2000 at 01:55:35PM -0600, Jeff V. Merkey wrote:
> Steve Dodd wrote:

> > Err.. Can you explain why you think this? The only way I can see that
> > wait_on_buffer could exhibit "polling" behaviour is if it was woken up
> > before the I/O was complete, and I can't see anything doing that.
>
> schedule() acts like threadswitch() in NetWare. Try you go to sleep,
> but the scheduler will wake you up again.

Not if you set your state to TASK_UNINTERRUPTIBLE (wait_on_buffer does).
schedule() removes you from the run queue if your state isn't TASK_RUNNING.

> I noticed it seems to behave this way. This means this guy is constantly
> waking up and calling run_task_queue() over and over again.

If it is, there's a problem somewhere..

-- 
If you've been pounding nails with your forehead for years, it may feel
strange the first time somebody hands you a hammer. But that doesn't
mean that you should strap the hammer to a headband just to give your
skull that old familiar jolt.        -- Wayne Throop, during the ``TCL Wars''

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