Re: Bug in drivers/block/ll_rw_blk.c ?

From: Livio Baldini Soares
Date: Fri Aug 22 2003 - 10:40:01 EST


Hi Yoav!

Yoav Weiss writes:
> A few days ago I posted the report attached below. After some more
> research, I'm starting to think I've hit a bug in ll_rw_blk.c.
>
> If the maintainer of the block dev subsystem happens to be reading
> this, please contact me on the list or by mail.

I'm not the maintainer, but I'm pretty sure that there is no problem in
that specific code... but I think you're hitting another bug in the 2.4
tree (read below...)

[...snip...]

> The cloop (compressed loop) code I'm debugging is this one:
>
> http://developer.linuxtag.net/knoppix/sources/cloop_1.0-2.tar.gz
>
> I'm testing with kernel 2.4.22-rc2.

[...snip...]

> The stalled process waits on a page in mm/filemap.c:1505:
>
> /* Again, try some read-ahead while waiting for the page to finish.. */
> generic_file_readahead(reada_ok, filp, inode, page);
> ------> wait_on_page(page);
>
>
> I found who wakes it up in calls that don't stall:
> unlock_page(), called from
> drivers/block/ll_rw_blk.c:end_that_request_first().
> bh->b_end_io(bh, uptodate) seems to do it.


From this description it seems that you are hitting a bug which was
discussed to death here on the list. Here's a thread with 143 messages for
you:

http://marc.theaimsgroup.com/?t=105400721000001&r=5&w=2

And here are the threads in which a solution was dicussed:

http://marc.theaimsgroup.com/?t=105519528200001&r=1&w=2
http://marc.theaimsgroup.com/?t=105769525800005&r=3&w=2

Notice, however, that the patch Chris, Andrea, Jens and others made for
this problem is _already_ included in 2.4 (so, yes, 2.4.22-rc2 has the
fix).

So, you are probably hitting the same bug, which was not fixed 100%. If
you think that your test is very easily reproducible and can shed more
light on this problem, perhaps you should write to Chris, Andrea and Jens
(with Cc: to the list), and show them the test. I don't know if they would
be willing to spend more time on this issue, specially with 2.6 around the
corner...

best regards,

--
Livio B. Soares
-
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/