From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751557AbcL1Pug (ORCPT ); Wed, 28 Dec 2016 10:50:36 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:34006 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750956AbcL1Puf (ORCPT ); Wed, 28 Dec 2016 10:50:35 -0500 Subject: Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate tracepoint To: Michal Hocko , linux-mm@kvack.org References: <20161228153032.10821-1-mhocko@kernel.org> <20161228153032.10821-5-mhocko@kernel.org> Cc: Andrew Morton , Mel Gorman , Johannes Weiner , Vlastimil Babka , Rik van Riel , LKML , Michal Hocko From: Nikolay Borisov Message-ID: Date: Wed, 28 Dec 2016 17:50:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <20161228153032.10821-5-mhocko@kernel.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 28.12.2016 17:30, Michal Hocko wrote: > From: Michal Hocko > > mm_vmscan_lru_isolate currently prints only whether the LRU we isolate > from is file or anonymous but we do not know which LRU this is. It is > useful to know whether the list is file or anonymous as well. Change Maybe you wanted to say whether the list is ACTIVE/INACTIVE ? > the tracepoint to show symbolic names of the lru rather. > > Signed-off-by: Michal Hocko > --- > include/trace/events/vmscan.h | 20 ++++++++++++++------ > mm/vmscan.c | 2 +- > 2 files changed, 15 insertions(+), 7 deletions(-) > > diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h > index 6af4dae46db2..cc0b4c456c78 100644 > --- a/include/trace/events/vmscan.h > +++ b/include/trace/events/vmscan.h > @@ -36,6 +36,14 @@ > (RECLAIM_WB_ASYNC) \ > ) > > +#define show_lru_name(lru) \ > + __print_symbolic(lru, \ > + {LRU_INACTIVE_ANON, "LRU_INACTIVE_ANON"}, \ > + {LRU_ACTIVE_ANON, "LRU_ACTIVE_ANON"}, \ > + {LRU_INACTIVE_FILE, "LRU_INACTIVE_FILE"}, \ > + {LRU_ACTIVE_FILE, "LRU_ACTIVE_FILE"}, \ > + {LRU_UNEVICTABLE, "LRU_UNEVICTABLE"}) > + > TRACE_EVENT(mm_vmscan_kswapd_sleep, > > TP_PROTO(int nid), > @@ -277,9 +285,9 @@ TRACE_EVENT(mm_vmscan_lru_isolate, > unsigned long nr_skipped, > unsigned long nr_taken, > isolate_mode_t isolate_mode, > - int file), > + int lru), > > - TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped, nr_taken, isolate_mode, file), > + TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped, nr_taken, isolate_mode, lru), > > TP_STRUCT__entry( > __field(int, classzone_idx) > @@ -289,7 +297,7 @@ TRACE_EVENT(mm_vmscan_lru_isolate, > __field(unsigned long, nr_skipped) > __field(unsigned long, nr_taken) > __field(isolate_mode_t, isolate_mode) > - __field(int, file) > + __field(int, lru) > ), > > TP_fast_assign( > @@ -300,10 +308,10 @@ TRACE_EVENT(mm_vmscan_lru_isolate, > __entry->nr_skipped = nr_skipped; > __entry->nr_taken = nr_taken; > __entry->isolate_mode = isolate_mode; > - __entry->file = file; > + __entry->lru = lru; > ), > > - TP_printk("isolate_mode=%d classzone=%d order=%d nr_requested=%lu nr_scanned=%lu nr_skipped=%lu nr_taken=%lu file=%d", > + TP_printk("isolate_mode=%d classzone=%d order=%d nr_requested=%lu nr_scanned=%lu nr_skipped=%lu nr_taken=%lu lru=%s", > __entry->isolate_mode, > __entry->classzone_idx, > __entry->order, > @@ -311,7 +319,7 @@ TRACE_EVENT(mm_vmscan_lru_isolate, > __entry->nr_scanned, > __entry->nr_skipped, > __entry->nr_taken, > - __entry->file) > + show_lru_name(__entry->lru)) > ); > > TRACE_EVENT(mm_vmscan_writepage, > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 4f7c0d66d629..3f0774f30a42 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -1500,7 +1500,7 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan, > } > *nr_scanned = scan + total_skipped; > trace_mm_vmscan_lru_isolate(sc->reclaim_idx, sc->order, nr_to_scan, scan, > - skipped, nr_taken, mode, is_file_lru(lru)); > + skipped, nr_taken, mode, lru); > update_lru_sizes(lruvec, lru, nr_zone_taken, nr_taken); > return nr_taken; > } > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wj0-f200.google.com (mail-wj0-f200.google.com [209.85.210.200]) by kanga.kvack.org (Postfix) with ESMTP id 591976B0069 for ; Wed, 28 Dec 2016 10:50:35 -0500 (EST) Received: by mail-wj0-f200.google.com with SMTP id hb5so90457942wjc.2 for ; Wed, 28 Dec 2016 07:50:35 -0800 (PST) Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com. [2a00:1450:400c:c09::243]) by mx.google.com with ESMTPS id ri10si22760584wjb.215.2016.12.28.07.50.33 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Dec 2016 07:50:34 -0800 (PST) Received: by mail-wm0-x243.google.com with SMTP id u144so62472273wmu.0 for ; Wed, 28 Dec 2016 07:50:33 -0800 (PST) Subject: Re: [PATCH 4/7] mm, vmscan: show LRU name in mm_vmscan_lru_isolate tracepoint References: <20161228153032.10821-1-mhocko@kernel.org> <20161228153032.10821-5-mhocko@kernel.org> From: Nikolay Borisov Message-ID: Date: Wed, 28 Dec 2016 17:50:31 +0200 MIME-Version: 1.0 In-Reply-To: <20161228153032.10821-5-mhocko@kernel.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Michal Hocko , linux-mm@kvack.org Cc: Andrew Morton , Mel Gorman , Johannes Weiner , Vlastimil Babka , Rik van Riel , LKML , Michal Hocko On 28.12.2016 17:30, Michal Hocko wrote: > From: Michal Hocko > > mm_vmscan_lru_isolate currently prints only whether the LRU we isolate > from is file or anonymous but we do not know which LRU this is. It is > useful to know whether the list is file or anonymous as well. Change Maybe you wanted to say whether the list is ACTIVE/INACTIVE ? > the tracepoint to show symbolic names of the lru rather. > > Signed-off-by: Michal Hocko > --- > include/trace/events/vmscan.h | 20 ++++++++++++++------ > mm/vmscan.c | 2 +- > 2 files changed, 15 insertions(+), 7 deletions(-) > > diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h > index 6af4dae46db2..cc0b4c456c78 100644 > --- a/include/trace/events/vmscan.h > +++ b/include/trace/events/vmscan.h > @@ -36,6 +36,14 @@ > (RECLAIM_WB_ASYNC) \ > ) > > +#define show_lru_name(lru) \ > + __print_symbolic(lru, \ > + {LRU_INACTIVE_ANON, "LRU_INACTIVE_ANON"}, \ > + {LRU_ACTIVE_ANON, "LRU_ACTIVE_ANON"}, \ > + {LRU_INACTIVE_FILE, "LRU_INACTIVE_FILE"}, \ > + {LRU_ACTIVE_FILE, "LRU_ACTIVE_FILE"}, \ > + {LRU_UNEVICTABLE, "LRU_UNEVICTABLE"}) > + > TRACE_EVENT(mm_vmscan_kswapd_sleep, > > TP_PROTO(int nid), > @@ -277,9 +285,9 @@ TRACE_EVENT(mm_vmscan_lru_isolate, > unsigned long nr_skipped, > unsigned long nr_taken, > isolate_mode_t isolate_mode, > - int file), > + int lru), > > - TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped, nr_taken, isolate_mode, file), > + TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped, nr_taken, isolate_mode, lru), > > TP_STRUCT__entry( > __field(int, classzone_idx) > @@ -289,7 +297,7 @@ TRACE_EVENT(mm_vmscan_lru_isolate, > __field(unsigned long, nr_skipped) > __field(unsigned long, nr_taken) > __field(isolate_mode_t, isolate_mode) > - __field(int, file) > + __field(int, lru) > ), > > TP_fast_assign( > @@ -300,10 +308,10 @@ TRACE_EVENT(mm_vmscan_lru_isolate, > __entry->nr_skipped = nr_skipped; > __entry->nr_taken = nr_taken; > __entry->isolate_mode = isolate_mode; > - __entry->file = file; > + __entry->lru = lru; > ), > > - TP_printk("isolate_mode=%d classzone=%d order=%d nr_requested=%lu nr_scanned=%lu nr_skipped=%lu nr_taken=%lu file=%d", > + TP_printk("isolate_mode=%d classzone=%d order=%d nr_requested=%lu nr_scanned=%lu nr_skipped=%lu nr_taken=%lu lru=%s", > __entry->isolate_mode, > __entry->classzone_idx, > __entry->order, > @@ -311,7 +319,7 @@ TRACE_EVENT(mm_vmscan_lru_isolate, > __entry->nr_scanned, > __entry->nr_skipped, > __entry->nr_taken, > - __entry->file) > + show_lru_name(__entry->lru)) > ); > > TRACE_EVENT(mm_vmscan_writepage, > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 4f7c0d66d629..3f0774f30a42 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -1500,7 +1500,7 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan, > } > *nr_scanned = scan + total_skipped; > trace_mm_vmscan_lru_isolate(sc->reclaim_idx, sc->order, nr_to_scan, scan, > - skipped, nr_taken, mode, is_file_lru(lru)); > + skipped, nr_taken, mode, lru); > update_lru_sizes(lruvec, lru, nr_zone_taken, nr_taken); > return nr_taken; > } > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org