Messages in this thread | | | Date | Tue, 27 Mar 2007 11:30:45 +1100 | From | David Chinner <> | Subject | Re: [patch 1/3] fix illogical behavior in balance_dirty_pages() |
| |
On Mon, Mar 26, 2007 at 03:30:27PM +0200, Peter Zijlstra wrote: > On Mon, 2007-03-26 at 02:08 -0800, Andrew Morton wrote: > > On Mon, 26 Mar 2007 11:32:47 +0200 Miklos Szeredi <miklos@szeredi.hu> wrote: > > > > > Stopping writers which have idle queues is completely unproductive, > > > and that is basically what the current algorithm does. > > > > This is because the kernel permits all of its allotment of dirty+writeback > > pages to be dirty+writeback against a single device. > > > > A good way of solving the one-device-starves-another-one problem is to > > dynamically adjust the per-device dirty+writeback levels so that (for > > example) if two devices are being written to, each gets 50% of the > > allotment. > > This is exactly what happens with my patch if both devices write at the > same speed. (Or at least, that is what is supposed to happen ;-)
The testing that I did of Peter's patch showed that this cache splitting works as advertised for multiple devices writing at the same speed.
(http://marc.info/?l=linux-kernel&m=117437686328396&w=2)
Cheers,
Dave. -- Dave Chinner Principal Engineer SGI Australian Software Group - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |