Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1548226

Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint

From Michal Hocko <mhocko@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint
Date 2016-12-29 09:00 +0100
Message-ID <sTDMZ-3Kv-13@gated-at.bofh.it> (permalink)
References <sTouB-1H0-1@gated-at.bofh.it> <sTouB-1H0-27@gated-at.bofh.it> <sTBBv-2rT-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu 29-12-16 14:33:59, Minchan Kim wrote:
> On Wed, Dec 28, 2016 at 04:30:27PM +0100, Michal Hocko wrote:
> > From: Michal Hocko <mhocko@suse.com>
> > 
> > Our reclaim process has several tracepoints to tell us more about how
> > things are progressing. We are, however, missing a tracepoint to track
> > active list aging. Introduce mm_vmscan_lru_shrink_active which reports
> > the number of scanned, rotated, deactivated and freed pages from the
> > particular node's active list.
> > 
> > Signed-off-by: Michal Hocko <mhocko@suse.com>
> > ---
> >  include/linux/gfp.h           |  2 +-
> >  include/trace/events/vmscan.h | 38 ++++++++++++++++++++++++++++++++++++++
> >  mm/page_alloc.c               |  6 +++++-
> >  mm/vmscan.c                   | 22 +++++++++++++++++-----
> >  4 files changed, 61 insertions(+), 7 deletions(-)
> > 
> > diff --git a/include/linux/gfp.h b/include/linux/gfp.h
> > index 4175dca4ac39..61aa9b49e86d 100644
> > --- a/include/linux/gfp.h
> > +++ b/include/linux/gfp.h
> > @@ -503,7 +503,7 @@ void * __meminit alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask);
> >  extern void __free_pages(struct page *page, unsigned int order);
> >  extern void free_pages(unsigned long addr, unsigned int order);
> >  extern void free_hot_cold_page(struct page *page, bool cold);
> > -extern void free_hot_cold_page_list(struct list_head *list, bool cold);
> > +extern int free_hot_cold_page_list(struct list_head *list, bool cold);
> >  
> >  struct page_frag_cache;
> >  extern void __page_frag_drain(struct page *page, unsigned int order,
> > diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h
> > index 39bad8921ca1..d34cc0ced2be 100644
> > --- a/include/trace/events/vmscan.h
> > +++ b/include/trace/events/vmscan.h
> > @@ -363,6 +363,44 @@ TRACE_EVENT(mm_vmscan_lru_shrink_inactive,
> >  		show_reclaim_flags(__entry->reclaim_flags))
> >  );
> >  
> > +TRACE_EVENT(mm_vmscan_lru_shrink_active,
> > +
> > +	TP_PROTO(int nid, unsigned long nr_scanned, unsigned long nr_freed,
> > +		unsigned long nr_unevictable, unsigned long nr_deactivated,
> > +		unsigned long nr_rotated, int priority, int file),
> > +
> > +	TP_ARGS(nid, nr_scanned, nr_freed, nr_unevictable, nr_deactivated, nr_rotated, priority, file),
> 
> I agree it is helpful. And it was when I investigated aging problem of 32bit
> when node-lru was introduced. However, the question is we really need all those
> kinds of information? just enough with nr_taken, nr_deactivated, priority, file?

Dunno. Is it harmful to add this information? I like it more when the
numbers just add up and you have a clear picture. You never know what
might be useful when debugging a weird behavior. 

[...]
> > -	move_active_pages_to_lru(lruvec, &l_active, &l_hold, lru);
> > -	move_active_pages_to_lru(lruvec, &l_inactive, &l_hold, lru - LRU_ACTIVE);
> > +	nr_activate = move_active_pages_to_lru(lruvec, &l_active, &l_hold, lru);
> 
> Who use nr_active in here?

this is an omission. I just forgot to add it... Thanks for noticing.

-- 
Michal Hocko
SUSE Labs

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/7] vm, vmscan: enahance vmscan tracepoints Michal Hocko <mhocko@kernel.org> - 2016-12-28 16:40 +0100
  [PATCH 7/7] mm, vmscan: add mm_vmscan_inactive_list_is_low tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-28 16:40 +0100
    Re: [PATCH 7/7] mm, vmscan: add mm_vmscan_inactive_list_is_low tracepoint "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-12-29 09:30 +0100
  [PATCH 1/7] mm, vmscan: remove unused mm_vmscan_memcg_isolate Michal Hocko <mhocko@kernel.org> - 2016-12-28 16:40 +0100
    Re: [PATCH 1/7] mm, vmscan: remove unused mm_vmscan_memcg_isolate "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-12-29 08:50 +0100
  [PATCH 5/7] mm, vmscan: extract shrink_page_list reclaim counters into a struct Michal Hocko <mhocko@kernel.org> - 2016-12-28 16:40 +0100
    Re: [PATCH 5/7] mm, vmscan: extract shrink_page_list reclaim counters into a struct "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-12-29 09:10 +0100
  [PATCH 6/7] mm, vmscan: enhance mm_vmscan_lru_shrink_inactive tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-28 16:40 +0100
    Re: [PATCH 6/7] mm, vmscan: enhance mm_vmscan_lru_shrink_inactive tracepoint "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-12-29 09:20 +0100
  [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-28 16:40 +0100
    Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate  tracepoint Nikolay Borisov <n.borisov.lkml@gmail.com> - 2016-12-28 17:00 +0100
      Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate  tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-28 17:10 +0100
        Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate  tracepoint Nikolay Borisov <n.borisov.lkml@gmail.com> - 2016-12-28 17:50 +0100
          Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate  tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-28 18:00 +0100
    Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate  tracepoint Minchan Kim <minchan@kernel.org> - 2016-12-29 07:10 +0100
      Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate  tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-29 09:00 +0100
        Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate  tracepoint Minchan Kim <minchan@kernel.org> - 2016-12-30 03:00 +0100
          Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate  tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-30 10:40 +0100
    Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate tracepoint "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-12-29 09:00 +0100
    Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate  tracepoint Vlastimil Babka <vbabka@suse.cz> - 2017-01-03 18:10 +0100
  [PATCH 3/7] mm, vmscan: show the number of skipped pages in mm_vmscan_lru_isolate Michal Hocko <mhocko@kernel.org> - 2016-12-28 16:40 +0100
    Re: [PATCH 3/7] mm, vmscan: show the number of skipped pages in  mm_vmscan_lru_isolate Minchan Kim <minchan@kernel.org> - 2016-12-29 07:00 +0100
    Re: [PATCH 3/7] mm, vmscan: show the number of skipped pages in mm_vmscan_lru_isolate "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-12-29 09:00 +0100
    Re: [PATCH 3/7] mm, vmscan: show the number of skipped pages in  mm_vmscan_lru_isolate Vlastimil Babka <vbabka@suse.cz> - 2017-01-03 18:30 +0100
  [PATCH 2/7] mm, vmscan: add active list aging tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-28 16:40 +0100
    Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint Minchan Kim <minchan@kernel.org> - 2016-12-29 06:40 +0100
      Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-29 09:00 +0100
        Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint Minchan Kim <minchan@kernel.org> - 2016-12-30 02:50 +0100
          Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-30 10:30 +0100
            Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-12-30 10:50 +0100
            Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint Minchan Kim <minchan@kernel.org> - 2016-12-30 17:10 +0100
              Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-30 17:40 +0100
                Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint Michal Hocko <mhocko@kernel.org> - 2016-12-30 18:40 +0100
                Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint Minchan Kim <minchan@kernel.org> - 2017-01-03 06:10 +0100
                Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint Michal Hocko <mhocko@kernel.org> - 2017-01-03 09:30 +0100
    Re: [PATCH 2/7] mm, vmscan: add active list aging tracepoint "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2016-12-29 09:00 +0100
  Re: [PATCH 0/7] vm, vmscan: enahance vmscan tracepoints Mel Gorman <mgorman@suse.de> - 2016-12-30 10:20 +0100
    Re: [PATCH 0/7] vm, vmscan: enahance vmscan tracepoints Michal Hocko <mhocko@kernel.org> - 2016-12-30 10:40 +0100
      Re: [PATCH 0/7] vm, vmscan: enahance vmscan tracepoints Mel Gorman <mgorman@suse.de> - 2016-12-30 11:30 +0100

csiph-web