Re: [PATCH 5/7] mm: vmscan: Do not writeback filesystem pages in kswapd except in high priority

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 11 Aug 2011 21:25:04 +0100
Mel Gorman <mgorman@xxxxxxx> wrote:

> 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.
> 

Thank you for illustration.

> Is this what you are looking for?
> 

I just wondered how 'priority' is used over vmscan.c

It's used for
  - calculate # of pages to be scanned.
  - sleep(congestion_wait())
  - change reclaim mode
  - reclaim stall detection
  - quit scan loop 
  - all_unreclaimable detection
  - swap token
  - write back skip <----- New!

To me, it seems a value is used for many purpose.
And I wonder whether this is good or not..

Thanks,
-Kame








--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]