Re: [RFC] changes to buffer.c (was Test12 ll_rw_block error)

Chris Mason
2001-01-05T17:53:20Z

On Friday, January 05, 2001 01:43:07 PM -0200 Marcelo Tosatti
<marcelo@conectiva.com.br> wrote:

>
> On Fri, 5 Jan 2001, Chris Mason wrote:
>
>>
>> Here's the latest version of the patch, against 2.4.0. The
>> biggest open issues are what to do with bdflush, since
>> page_launder could do everything bdflush does.
>
> I think we want to remove flush_dirty_buffers() from bdflush.
>

I think you're right. Now that bdflush calls page_launder with GFP_KERNEL,
the flush_dirty_buffers call isn't needed there. I think the current
bdflush (with or without the flush_dirty_buffers call) will be more
aggressive at freeing buffer cache pages from the inactive_dirty list, and
it will be interesting to see how it performs. I think it will be better,
but the blocksize < pagesize case might screw us up.

> While we are trying to be smart and do write clustering at the ->writepage
> operation, flush_dirty_buffers() is "dumb" and will interfere with the
> write clustering.
>
Only for the buffer cache pages. For actual file data, flush_dirty_buffers
is calling the writepage func, and we should still be able to cluster it.

-chris