> This patch adds profile information about invalidated page reclaim. > It's just for profiling for test so it would be discard when the series > are merged. > > Signed-off-by: Minchan Kim <minchan.kim@xxxxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> > Cc: Wu Fengguang <fengguang.wu@xxxxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Nick Piggin <npiggin@xxxxxxxxx> > Cc: Mel Gorman <mel@xxxxxxxxx> > --- > include/linux/vmstat.h | 4 ++-- > mm/swap.c | 3 +++ > mm/vmstat.c | 3 +++ > 3 files changed, 8 insertions(+), 2 deletions(-) Today, we have tracepoint. tracepoint has no overhead if it's unused. but vmstat has a overhead even if unused. Then, all new vmstat proposal should be described why you think it is frequently used from administrators. > > diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h > index 833e676..c38ad95 100644 > --- a/include/linux/vmstat.h > +++ b/include/linux/vmstat.h > @@ -30,8 +30,8 @@ > > enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, > FOR_ALL_ZONES(PGALLOC), > - PGFREE, PGACTIVATE, PGDEACTIVATE, > - PGFAULT, PGMAJFAULT, > + PGFREE, PGACTIVATE, PGDEACTIVATE, PGINVALIDATE, > + PGRECLAIM, PGFAULT, PGMAJFAULT, > FOR_ALL_ZONES(PGREFILL), > FOR_ALL_ZONES(PGSTEAL), > FOR_ALL_ZONES(PGSCAN_KSWAPD), > diff --git a/mm/swap.c b/mm/swap.c > index 0f23998..2f21e6e 100644 > --- a/mm/swap.c > +++ b/mm/swap.c > @@ -317,6 +317,7 @@ static void lru_deactivate(struct page *page, struct zone *zone) > * is _really_ small and it's non-critical problem. > */ > SetPageReclaim(page); > + __count_vm_event(PGRECLAIM); Um. No. This is not reclaim operation anyway. Userland folks shouldn't know you override PG_reclaim. It's implementaion internal information. > } else { > /* > * The page's writeback ends up during pagevec > @@ -328,6 +329,8 @@ static void lru_deactivate(struct page *page, struct zone *zone) > > if (active) > __count_vm_event(PGDEACTIVATE); > + > + __count_vm_event(PGINVALIDATE); > update_page_reclaim_stat(zone, page, file, 0); I have similar complains as above. If you use PGINVALIDATE, other invalidate pass should update this counter too. > } > > diff --git a/mm/vmstat.c b/mm/vmstat.c > index 3555636..ef6102d 100644 > --- a/mm/vmstat.c > +++ b/mm/vmstat.c > @@ -818,6 +818,9 @@ static const char * const vmstat_text[] = { > "pgactivate", > "pgdeactivate", > > + "pginvalidate", > + "pgreclaim", > + > "pgfault", > "pgmajfault", > > -- > 1.7.0.4 > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>