lkml.org 
[lkml]   [1997]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: patch for free_async_buffers SMP problem
Colin Plumb wrote:
> Um, as long as free_async_buffers absolutely *insists* that its
> argument be a circularly linked list, if you don't mind not
> checking *each* BH_FreeOnIO flag, how about:

The buffer heads in free_async_buffers are linked by the circular
bh->b_this_page list. (It's not circular when it leaves create_buffers,
but the circular link is added later in all cases.)
Recover_reusable_buffer_heads wants the list linked using b_next_free.

In the patch I did want to maintain the test on BH_FreeOnIO; it's really
a debugging check, but a problem here would be very hard to trace. If
at some point this test could be dropped, then recover_reusable_xxx
could be changed to use the b_this_page list, and then it wouldn't be
necessary to walk the list. This would be a good future improvement.

I did remove the clear_bit(), as buffer heads are cleared when placed on
the unused list.

Regards,
Bill

\
 
 \ /
  Last update: 2005-03-22 13:40    [W:0.046 / U:0.256 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site