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