Re: lowlatency-2.2.14-B1 + 2.2.14aa7 fixes crash, but...

From: Andrea Arcangeli (andrea@suse.de)
Date: Tue Feb 22 2000 - 10:21:40 EST


On Tue, 22 Feb 2000, Stephen C. Tweedie wrote:

>Hi,
>
>On Mon, 21 Feb 2000 23:43:41 +0100 (CET), Andrea Arcangeli
><andrea@suse.de> said:
>
>> On Mon, 21 Feb 2000, William Montgomery wrote:
>>> Any ideas?
>
>> I had a fast look at the buffer.c part of lowlatency-2.2.14-B1 patch and
>> the bh->b_count++; schedule(); bh->b_count-- added in buffer.c are buggy.
>> Also the schedules in brelse/bforget are buggy since such functions are
>> never been supposed to block.
>
>On the contrary --- in 2.2, brelse has always been able to block. It
>performs an implicit refile_buffer(), which can block for write
>throttling.

refile_buffer blocks only if the buffer is been marked dirty and it wasn't
in the dirty lru list.

How can a dirty buffer not be in the dirty lru list at brelse time?

If you grep for BH_Dirty you'll see that nobody sets BH_Dirty by hand and
everybody uses mark_buffer_dirty (and that's definitly correct). Thus
brelse can't block in 2.2.x as well as far I can tell.

I assumed the refile buffer there was for cleanup and not for write
throttling (that's the only case that can block).

Andrea

-
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 : Wed Feb 23 2000 - 21:00:30 EST