Re: [PATCH] remove throttle_vm_writeout()

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Andrew Morton <akpm@...>
Cc: Peter Zijlstra <a.p.zijlstra@...>, Miklos Szeredi <miklos@...>, <linux-mm@...>, <linux-kernel@...>
Date: Friday, October 5, 2007 - 8:30 am

On Thu, Oct 04, 2007 at 10:46:50AM -0700, Andrew Morton wrote:

Sorry, I cannot not understand it. We now have balanced aging between
zones. So the page allocations are expected to distribute proportionally
between ZONE_HIGHMEM and ZONE_NORMAL?


We may see the same problem and improvement in the absent of 'all
writeback goes to one zone' assumption.

The problem could be:
- dirty_thresh is exceeded, so balance_dirty_pages() starts syncing
  data and quickly _congests_ the queue;
- dirty pages are slowly but continuously turned into clean pages by
  balance_dirty_pages(), but they still stay in the same place in LRU;
- the zones are mostly dirty/writeback pages, kswapd has a hard time
  finding the randomly distributed clean pages;
- kswapd cannot do the writeout because the queue is congested!

The improvement could be:
- kswapd is now explicitly preferred to do the writeout;
- the pages written by kswapd will be rotated and easy for kswapd to reclaim;
- it becomes possible for kswapd to wait for the congested queue,
  instead of doing the vmscan like mad.

The congestion wait looks like a pretty natural way to throttle the kswapd.
Instead of doing the vmscan at 1000MB/s and actually freeing pages at
60MB/s(about the write throughput), kswapd will be relaxed to do vmscan at
maybe 150MB/s.

Fengguang
---

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Thu Oct 4, 8:25 am)
Re: [PATCH] remove throttle_vm_writeout(), Andrew Morton, (Thu Oct 4, 5:56 pm)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Thu Oct 4, 6:39 pm)
Re: [PATCH] remove throttle_vm_writeout(), Andrew Morton, (Thu Oct 4, 7:09 pm)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Fri Oct 5, 3:32 am)
Re: [PATCH] remove throttle_vm_writeout(), Rik van Riel, (Fri Oct 5, 3:54 pm)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Thu Oct 4, 7:26 pm)
Re: [PATCH] remove throttle_vm_writeout(), Andrew Morton, (Thu Oct 4, 7:48 pm)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Thu Oct 4, 8:12 pm)
Re: [PATCH] remove throttle_vm_writeout(), Andrew Morton, (Thu Oct 4, 8:48 pm)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Fri Oct 5, 4:22 am)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Fri Oct 5, 5:22 am)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Fri Oct 5, 5:47 am)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Fri Oct 5, 6:27 am)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Fri Oct 5, 6:57 am)
Re: [PATCH] remove throttle_vm_writeout(), Trond Myklebust, (Fri Oct 5, 1:50 pm)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Fri Oct 5, 2:32 pm)
Re: [PATCH] remove throttle_vm_writeout(), Fengguang Wu, (Fri Oct 5, 8:40 pm)
Re: [PATCH] remove throttle_vm_writeout(), Trond Myklebust, (Fri Oct 5, 3:20 pm)
Re: [PATCH] remove throttle_vm_writeout(), Trond Myklebust, (Fri Oct 5, 3:23 pm)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Fri Oct 5, 5:07 pm)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Fri Oct 5, 7:27 am)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Fri Oct 5, 6:32 am)
Re: [PATCH] remove throttle_vm_writeout(), John Stoffel, (Fri Oct 5, 11:43 am)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Thu Oct 4, 8:40 am)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Thu Oct 4, 9:00 am)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Thu Oct 4, 9:23 am)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Thu Oct 4, 9:49 am)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Thu Oct 4, 12:47 pm)
Re: [PATCH] remove throttle_vm_writeout(), Miklos Szeredi, (Thu Oct 4, 5:07 pm)
Re: [PATCH] remove throttle_vm_writeout(), Andrew Morton, (Thu Oct 4, 1:46 pm)
Re: [PATCH] remove throttle_vm_writeout(), Fengguang Wu, (Fri Oct 5, 8:30 am)
Re: [PATCH] remove throttle_vm_writeout(), Andrew Morton, (Fri Oct 5, 1:20 pm)
Re: [PATCH] remove throttle_vm_writeout(), Fengguang Wu, (Fri Oct 5, 10:32 pm)
Re: [PATCH] remove throttle_vm_writeout(), Peter Zijlstra, (Thu Oct 4, 2:10 pm)
Re: [PATCH] remove throttle_vm_writeout(), Andrew Morton, (Thu Oct 4, 2:54 pm)