Re: [PATCH] mm: fix pgalloc_stall on unpopulated zone

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 14, 2016 at 10:11:19AM +0900, Minchan Kim wrote:
> > The patch means that the vmstat accounting and tracepoint data is also
> > out of sync. One thing I wanted to be able to do was
> > 
> > 1. Observe that there are alloc stalls on DMA32 or some other low zone
> > 2. Activate mm_vmscan_direct_reclaim_begin, filter on classzone_idx ==
> >    DMA32 and identify the source of the lowmem allocations
> > 
> > If your patch is applied, I cannot depend on the stall stats any more
> > and the tracepoint is required to determine if there really any
> > zone-contrained allocations. It can be *inferred* from the skip stats
> > but only if such skips occurred and that is not guaranteed.
> 
> Just a nit:
> 
> Hmm, can't we omit classzone_idx in mm_vm_scan_direct_begin_template?
> Because every functions already have gfp_flags so that we can classzone_idx
> via gfp_zone(gfp_flags) without passing it.
> 

We could but it's potentially wrong. classzone_idx *should* be derived
from the gfp_flags but it's possible a bug would lead it to be another
value. The saving from passing it in is marginal at best.

If it's omitted from the tracepoint itself, there is a small amount of
disk saving which is potentially significant if there is a lot of direct
reclaim. Unfortunately, it also makes it harder to filter that
tracepoint because the filter rules must be an implementation of
gfp_zone.

Right now I believe the saving is marginal and the cost of potentially
using the wrong information or making the filtering harder offsets that
marginal saving.

-- 
Mel Gorman
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]