Re: bdflush synchronous IO on prerelease-diff

Marcelo Tosatti (marcelo@conectiva.com.br)
Thu, 4 Jan 2001 00:38:53 -0200 (BRST)


On Wed, 3 Jan 2001, Marcelo Tosatti wrote:

>
> Hi Linus,
>
> I've noticed you changed bdflush to do synchronous IO on page_launder().
>
> That seems to be a performance problem, since kflushd will have to wait
> for dirty buffers to get synced instead looping on the inactive dirty
> list more often.
>
> Here is a patch to change this.
>
> --- linux.orig/fs/buffer.c Wed Jan 3 22:43:24 2001
> +++ linux/fs/buffer.c Thu Jan 4 00:28:50 2001
> @@ -2710,7 +2710,7 @@
>
> flushed = flush_dirty_buffers(0);
> if (free_shortage())
> - flushed += page_launder(GFP_KERNEL, 1);
> + flushed += page_launder(GFP_KERNEL, 0);
>
> /*
> * If there are still a lot of dirty buffers around,

And here are some dbench numbers:

12 clients / 64M ram
without the patch: 10.04 Mb/s
with the patch: 14.47 Mb/s

48 clients / 256M ram
without the patch: 14.40 Mb/s
with the patch: 15.69 Mb/s

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/