On Thu 27-06-13 15:12:10, Hyunhee Kim wrote: > In vmpressure, the pressure level is calculated based on the ratio > of how many pages were scanned vs. reclaimed in a given time window. > However, there is a possibility that "scanned < reclaimed" in such a > case, when reclaiming ends by fatal signal in shrink_inactive_list. > So, with this patch, we just return "low" level when "scanned < reclaimed" > happens not to have userland miss reclaim activity. Hmm, fatal signal pending on kswapd doesn't make sense to me so it has to be a direct reclaim path. Does it really make sense to signal LOW when there is probably a big memory pressure and somebody is killing the current allocator? The THP case made sense because nr_scanned is in LRU elements units while nr_reclaimed is in page units which are different so nr_reclaim might be higher than nr_scanned (so nr_taken would be more approapriate for vmpressure). > Signed-off-by: Hyunhee Kim <hyunhee.kim@xxxxxxxxxxx> > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> > --- > mm/vmpressure.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/mm/vmpressure.c b/mm/vmpressure.c > index 736a601..8c60cad 100644 > --- a/mm/vmpressure.c > +++ b/mm/vmpressure.c > @@ -119,6 +119,14 @@ static enum vmpressure_levels vmpressure_calc_level(unsigned long scanned, > unsigned long pressure; > > /* > + * This could happen, in such a case, when reclaiming ends by fatal > + * signal in shrink_inactive_list(). In this case, return > + * VMPRESSURE_LOW not to have userland miss reclaim activity. > + */ > + if (reclaimed > scanned) > + return VMPRESSURE_LOW; > + > + /* > * We calculate the ratio (in percents) of how many pages were > * scanned vs. reclaimed in a given time frame (window). Note that > * time is in VM reclaimer's "ticks", i.e. number of pages > -- > 1.7.9.5 > > > -- > 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> -- Michal Hocko 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>