Re: Asynch I/O broken in 2.2.15

From: Steve Dodd (steved@loth.demon.co.uk)
Date: Thu Apr 13 2000 - 14:44:26 EST


On Thu, Apr 13, 2000 at 12:30:16PM -0600, Jeff V. Merkey wrote:
> Steve Dodd wrote:

> > I did. The whole point of schedule is it puts the current process to sleep -
> > and it /shouldn't/ get woken up again until the I/O completes. The fact that
> > there's a do .. while loop around that bit suggests to me that perhaps I
> > don't know the whole story, or perhaps someone was paranoid..

(Confession: I was looking at the 2.3 code for wait_on_buffer. I've just
looked at 2.2, and it seems to be functionally equivalent)

> It does poll there.

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.

> I am trying page locking now since this was something Stephen Tweedie
> suggested I try to get around the Oops,

Erm, do you really mean page locking? I thought the issue Stephen raised was
to do with ignoring the block (i.e. buffer_head) lock bit?

> though I a confused as to why the swapper would be touching pinned memory in
> my LRU (?)

I know even less about the swapper / mm side of things, so I'm not going to
comment. My only thought is that your code is racing with itself somehow
(though I should point out I've not looked at it).

-- 
The church is near but the road is icy; the bar is far away but I will
walk carefully.
                -- Russian Proverb

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



This archive was generated by hypermail 2b29 : Sat Apr 15 2000 - 21:00:22 EST