On Thu, Aug 11, 2011 at 06:10:29PM +0900, KAMEZAWA Hiroyuki wrote:
> On Wed, 10 Aug 2011 11:47:18 +0100
> Mel Gorman <mgorman@xxxxxxx> wrote:
>
> > It is preferable that no dirty pages are dispatched for cleaning from
> > the page reclaim path. At normal priorities, this patch prevents kswapd
> > writing pages.
> >
> > However, page reclaim does have a requirement that pages be freed
> > in a particular zone. If it is failing to make sufficient progress
> > (reclaiming < SWAP_CLUSTER_MAX at any priority priority), the priority
> > is raised to scan more pages. A priority of DEF_PRIORITY - 3 is
> > considered to be the point where kswapd is getting into trouble
> > reclaiming pages. If this priority is reached, kswapd will dispatch
> > pages for writing.
> >
> > Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
> > Reviewed-by: Minchan Kim <minchan.kim@xxxxxxxxx>
>
>
> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
>
Thanks
> BTW, I'd like to see summary of the effect of priority..
>
What sort of summary are you looking for? If pressure is high enough,
writes start happening from reclaim. On NUMA, it can be particularly
pronounced. Here is a summary of page writes from reclaim over a range
of tests
512M1P-xfs Page writes file fsmark
8113 74
512M1P-xfs Page writes file simple-wb
19895 1
512M1P-xfs Page writes file mmap-strm
997 95
512M-xfs Page writes file fsmark
12071 9
512M-xfs Page writes file simple-wb
31709 1
512M-xfs Page writes file mmap-strm
148274 2448
512M-4X-xfs Page writes file fsmark
12828 0
512M-4X-xfs Page writes file simple-wb
32168 5
512M-4X-xfs Page writes file mmap-strm
346460 4405
512M-16X-xfs Page writes file fsmark
11566 29
512M-16X-xfs Page writes file simple-wb
31935 4
512M-16X-xfs Page writes file mmap-strm
38085 4371
With 1 processor (512M1P), very few writes occur as for the most part
flushers are keeping up. With 4x times more processors than there are
CPUs (512M-4X), there are more writes by kswapd..
1024M1P-xfs Page writes file fsmark
3446 1
1024M1P-xfs Page writes file simple-wb
11697 6
1024M1P-xfs Page writes file mmap-strm
4077 446
1024M-xfs Page writes file fsmark
5159 0
1024M-xfs Page writes file simple-wb
12785 5
1024M-xfs Page writes file mmap-strm
251153 8108
1024M-4X-xfs Page writes file fsmark
4781 0
1024M-4X-xfs Page writes file simple-wb
12486 6
1024M-4X-xfs Page writes file mmap-strm
1627122 15000
1024M-16X-xfs Page writes file fsmark
3777 1
1024M-16X-xfs Page writes file simple-wb
11856 2
1024M-16X-xfs Page writes file mmap-strm
6563 2638
4608M1P-xfs Page writes file fsmark
1497 0
4608M1P-xfs Page writes file simple-wb
4305 0
4608M1P-xfs Page writes file mmap-strm
17586 10153
4608M-xfs Page writes file fsmark
3380 0
4608M-xfs Page writes file simple-wb
5528 0
4608M-4X-xfs Page writes file fsmark
4650 0
4608M-4X-xfs Page writes file simple-wb
5621 0
4608M-4X-xfs Page writes file mmap-strm
149751 18395
4608M-16X-xfs Page writes file fsmark
388 0
4608M-16X-xfs Page writes file simple-wb
5466 0
4608M-16X-xfs Page writes file mmap-strm
3349772 19307
This is the same type of tests just with more memory. If enough
processes are running, kswapd will start writing pages as it tries
to reclaim memory.
4096M8N-xfs Page writes file fsmark
11571 8163
4096M8N-xfs Page writes file simple-wb
28979 11460
4096M8N-xfs Page writes file mmap-strm
178999 12181
4096M8N-4X-xfs Page writes file fsmark
14421 7487
4096M8N-4X-xfs Page writes file simple-wb
26474 10529
4096M8N-4X-xfs Page writes file mmap-strm
163770 58765
4096M8N-16X-xfs Page writes file fsmark
16726 9265
4096M8N-16X-xfs Page writes file simple-wb
28800 11129
4096M8N-16X-xfs Page writes file mmap-strm
73303 48267
This is with 8 NUMA nodes, each 512M in size. As the flusher threads are
not targetting a specific ndoe, kswapd writing pages happens more
frequently.
Is this what you are looking for?
--
Mel Gorman
SUSE Labs
|