Commit 3481c37f authored by Yafang Shao's avatar Yafang Shao Committed by Linus Torvalds
Browse files

mm/vmscan: drop may_writepage and classzone_idx from direct reclaim begin template

There are three tracepoints using this template, which are
mm_vmscan_direct_reclaim_begin,
mm_vmscan_memcg_reclaim_begin,
mm_vmscan_memcg_softlimit_reclaim_begin.

Regarding mm_vmscan_direct_reclaim_begin,
sc.may_writepage is !laptop_mode, that's a static setting, and
reclaim_idx is derived from gfp_mask which is already show in this
tracepoint.

Regarding mm_vmscan_memcg_reclaim_begin,
may_writepage is !laptop_mode too, and reclaim_idx is (MAX_NR_ZONES-1),
which are both static value.

mm_vmscan_memcg_softlimit_reclaim_begin is the same with
mm_vmscan_memcg_reclaim_begin.

So we can drop them all.

Link: http://lkml.kernel.org/r/1553736322-32235-1-git-send-email-laoar.shao@gmail.com


Signed-off-by: default avatarYafang Shao <laoar.shao@gmail.com>
Acked-by: default avatarMichal Hocko <mhocko@suse.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 024eee0e
Loading
Loading
Loading
Loading
+10 −16
Original line number Original line Diff line number Diff line
@@ -106,51 +106,45 @@ TRACE_EVENT(mm_vmscan_wakeup_kswapd,


DECLARE_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template,
DECLARE_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template,


	TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx),
	TP_PROTO(int order, gfp_t gfp_flags),


	TP_ARGS(order, may_writepage, gfp_flags, classzone_idx),
	TP_ARGS(order, gfp_flags),


	TP_STRUCT__entry(
	TP_STRUCT__entry(
		__field(	int,	order		)
		__field(	int,	order		)
		__field(	int,	may_writepage	)
		__field(	gfp_t,	gfp_flags	)
		__field(	gfp_t,	gfp_flags	)
		__field(	int,	classzone_idx	)
	),
	),


	TP_fast_assign(
	TP_fast_assign(
		__entry->order		= order;
		__entry->order		= order;
		__entry->may_writepage	= may_writepage;
		__entry->gfp_flags	= gfp_flags;
		__entry->gfp_flags	= gfp_flags;
		__entry->classzone_idx	= classzone_idx;
	),
	),


	TP_printk("order=%d may_writepage=%d gfp_flags=%s classzone_idx=%d",
	TP_printk("order=%d gfp_flags=%s",
		__entry->order,
		__entry->order,
		__entry->may_writepage,
		show_gfp_flags(__entry->gfp_flags))
		show_gfp_flags(__entry->gfp_flags),
		__entry->classzone_idx)
);
);


DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin,
DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin,


	TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx),
	TP_PROTO(int order, gfp_t gfp_flags),


	TP_ARGS(order, may_writepage, gfp_flags, classzone_idx)
	TP_ARGS(order, gfp_flags)
);
);


#ifdef CONFIG_MEMCG
#ifdef CONFIG_MEMCG
DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_begin,
DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_begin,


	TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx),
	TP_PROTO(int order, gfp_t gfp_flags),


	TP_ARGS(order, may_writepage, gfp_flags, classzone_idx)
	TP_ARGS(order, gfp_flags)
);
);


DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_softlimit_reclaim_begin,
DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_softlimit_reclaim_begin,


	TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx),
	TP_PROTO(int order, gfp_t gfp_flags),


	TP_ARGS(order, may_writepage, gfp_flags, classzone_idx)
	TP_ARGS(order, gfp_flags)
);
);
#endif /* CONFIG_MEMCG */
#endif /* CONFIG_MEMCG */


+3 −11
Original line number Original line Diff line number Diff line
@@ -3174,10 +3174,7 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
	if (throttle_direct_reclaim(sc.gfp_mask, zonelist, nodemask))
	if (throttle_direct_reclaim(sc.gfp_mask, zonelist, nodemask))
		return 1;
		return 1;


	trace_mm_vmscan_direct_reclaim_begin(order,
	trace_mm_vmscan_direct_reclaim_begin(order, sc.gfp_mask);
				sc.may_writepage,
				sc.gfp_mask,
				sc.reclaim_idx);


	nr_reclaimed = do_try_to_free_pages(zonelist, &sc);
	nr_reclaimed = do_try_to_free_pages(zonelist, &sc);


@@ -3208,9 +3205,7 @@ unsigned long mem_cgroup_shrink_node(struct mem_cgroup *memcg,
			(GFP_HIGHUSER_MOVABLE & ~GFP_RECLAIM_MASK);
			(GFP_HIGHUSER_MOVABLE & ~GFP_RECLAIM_MASK);


	trace_mm_vmscan_memcg_softlimit_reclaim_begin(sc.order,
	trace_mm_vmscan_memcg_softlimit_reclaim_begin(sc.order,
						      sc.may_writepage,
						      sc.gfp_mask);
						      sc.gfp_mask,
						      sc.reclaim_idx);


	/*
	/*
	 * NOTE: Although we can get the priority field, using it
	 * NOTE: Although we can get the priority field, using it
@@ -3259,10 +3254,7 @@ unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *memcg,


	zonelist = &NODE_DATA(nid)->node_zonelists[ZONELIST_FALLBACK];
	zonelist = &NODE_DATA(nid)->node_zonelists[ZONELIST_FALLBACK];


	trace_mm_vmscan_memcg_reclaim_begin(0,
	trace_mm_vmscan_memcg_reclaim_begin(0, sc.gfp_mask);
					    sc.may_writepage,
					    sc.gfp_mask,
					    sc.reclaim_idx);


	psi_memstall_enter(&pflags);
	psi_memstall_enter(&pflags);
	noreclaim_flag = memalloc_noreclaim_save();
	noreclaim_flag = memalloc_noreclaim_save();