On Tue 28-02-17 14:32:18, Robert Kudyba wrote:
> 
> > On Feb 28, 2017, at 11:56 AM, Michal Hocko <mho...@kernel.org> wrote:
[...]
> >> Will do here’s a perf report:
> > 
> > this will not tell us much. Tracepoints have much better chance to tell
> > us how reclaim is progressing.
> 
> I have SystemTap configured are there any scripts in the
> SystemTap_Beginners_Guide.pdf that I can run to help? Sorry I’m
> brand new to tracepoints.
> 

I am not familiar with systemtap much. What I meant was to
mount -t tracefs none /trace
echo 1 > /trace/events/vmscan/enable

but

> I do see these “vmscan” from this command:
> stap -L 'kernel.trace("*")'|sort
> 
> kernel.trace("vmscan:mm_shrink_slab_end") $shr:struct shrinker* $nid:int 
> $shrinker_retval:int $unused_scan_cnt:long int $new_scan_cnt:long int 
> $total_scan:long int
> kernel.trace("vmscan:mm_shrink_slab_start") $shr:struct shrinker* $sc:struct 
> shrink_control* $nr_objects_to_shrink:long int $pgs_scanned:long unsigned int 
> $lru_pgs:long unsigned int $cache_items:long unsigned int $delta:long long 
> unsigned int $total_scan:long unsigned int
> kernel.trace("vmscan:mm_vmscan_direct_reclaim_begin") $order:int 
> $may_writepage:int $gfp_flags:gfp_t $classzone_idx:int
> kernel.trace("vmscan:mm_vmscan_direct_reclaim_end") $nr_reclaimed:long 
> unsigned int
> kernel.trace("vmscan:mm_vmscan_kswapd_sleep") $nid:int
> kernel.trace("vmscan:mm_vmscan_kswapd_wake") $nid:int $zid:int $order:int
> kernel.trace("vmscan:mm_vmscan_lru_isolate") $classzone_idx:int $order:int 
> $nr_requested:long unsigned int $nr_scanned:long unsigned int $nr_taken:long 
> unsigned int $isolate_mode:isolate_mode_t $file:int
> kernel.trace("vmscan:mm_vmscan_lru_shrink_inactive") $nid:int 
> $nr_scanned:long unsigned int $nr_reclaimed:long unsigned int $priority:int 
> $file:int
> kernel.trace("vmscan:mm_vmscan_memcg_isolate") $classzone_idx:int $order:int 
> $nr_requested:long unsigned int $nr_scanned:long unsigned int $nr_taken:long 
> unsigned int $isolate_mode:isolate_mode_t $file:int
> kernel.trace("vmscan:mm_vmscan_memcg_reclaim_begin") $order:int 
> $may_writepage:int $gfp_flags:gfp_t $classzone_idx:int
> kernel.trace("vmscan:mm_vmscan_memcg_reclaim_end") $nr_reclaimed:long 
> unsigned int
> kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_begin") $order:int 
> $may_writepage:int $gfp_flags:gfp_t $classzone_idx:int
> kernel.trace("vmscan:mm_vmscan_memcg_softlimit_reclaim_end") 
> $nr_reclaimed:long unsigned int
> kernel.trace("vmscan:mm_vmscan_wakeup_kswapd") $nid:int $zid:int $order:int
> kernel.trace("vmscan:mm_vmscan_writepage") $page:struct page*
 
this looks like it would achieve the same

-- 
Michal Hocko
SUSE Labs

Reply via email to