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

Chris Mason
2000-12-22T20:07:17Z

On Friday, December 22, 2000 17:45:57 +0100 Daniel Phillips
<phillips@innominate.de> wrote:

[ flushing a page at a time in bdflush ]

> Um. Why cater to the uncommon case of 1K blocks? Just let
> bdflush/kupdated deal with them in the normal way - it's pretty
> efficient. Only try to do the clustering optimization when buffer size
> matches memory page size.
>

This isn't really an attempt at a clustering optimization. The problem at
hand is that buffer cache buffers can be on relatively random pages. So, a
page might have buffers that are very far apart, where one needs flushing
and the other doesn't.

In the blocksize == page size case, this won't happen, and we don't lose
any speed over the existing code. In the blocksize < pagesize case, my new
code is slower, so my goal is to fix just that problem.

Real write clustering would be a different issue entirely, and is worth
doing ;-)

-chris