Re: [PATCH] remove throttle_vm_writeout()

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Fengguang Wu
Date: Friday, October 5, 2007 - 7:32 pm

On Fri, Oct 05, 2007 at 10:20:05AM -0700, Andrew Morton wrote:

Hmm, that's a problem. But I guess when one zone is full, other zones
will not be far away... It's a "sooner or later" problem.


I guess PF_SWAPWRITE processes still have good probability to stuck in
get_request_wait().  Because balance_dirty_pages() are allowed to
disregard the congestion.  It will be exhausting the available request
slots all the time.

Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn>
---
 mm/page-writeback.c |    1 +
 1 file changed, 1 insertion(+)

--- linux-2.6.23-rc8-mm2.orig/mm/page-writeback.c
+++ linux-2.6.23-rc8-mm2/mm/page-writeback.c
@@ -400,6 +400,7 @@ static void balance_dirty_pages(struct a
 			.sync_mode	= WB_SYNC_NONE,
 			.older_than_this = NULL,
 			.nr_to_write	= write_chunk,
+			.nonblocking	= 1,
 			.range_cyclic	= 1,
 		};
 


Ah, yes.


That must be a big improvement!


Yeah. So the polling overheads are limited.


Nice tool!
I've been watching the raw numbers by writing scripts. This one can be
written as:

#!/bin/bash

while true; do
	while read a b
	do
		eval $a=$b
	done < /proc/vmstat

	uptime=$(</proc/uptime)

	scan=$((
		pgscan_kswapd_dma +
		pgscan_kswapd_dma32 +
		pgscan_kswapd_normal +
		pgscan_kswapd_high +
		pgscan_direct_dma +
		pgscan_direct_dma32 +
		pgscan_direct_normal +
		pgscan_direct_high
		))

	steal=$((
		pgsteal_dma +
		pgsteal_dma32 +
		pgsteal_normal +
		pgsteal_high
		))

	ratio=$((100*steal/(scan+1)))

	echo -e "$uptime\t$ratio%\t$steal\t$scan"
        sleep 1;
done

Not surprisingly, I see nice numbers on my desktop:

9517.99 9368.60 96%     1898452 1961536


Thank you for the nice tip :-)

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