Re: [RFC][PATCH] mm: remove unnecessary loop inside shrink_inactive_list()

From: KOSAKI Motohiro
Date: Wed Aug 26 2009 - 20:20:51 EST


> On Fri, Aug 21, 2009 at 07:09:17PM +0800, KOSAKI Motohiro wrote:
> > 2009/8/20 Wu Fengguang <fengguang.wu@xxxxxxxxx>:
> > > shrink_inactive_list() won't be called to scan too much pages
> > > (unless in hibernation code which is fine) or too few pages (ie.
> > > batching is taken care of by the callers). ÂSo we can just remove the
> > > big loop and isolate the exact number of pages requested.
> > >
> > > Just a RFC, and a scratch patch to show the basic idea.
> > > Please kindly NAK quick if you don't like it ;)
> >
> > Hm, I think this patch taks only cleanups. right?
> > if so, I don't find any objection reason.
>
> Mostly cleanups, but one behavior change here:
>
> > > - Â Â Â Â Â Â Â nr_taken = sc->isolate_pages(sc->swap_cluster_max,
> > > + Â Â Â Â Â Â Â nr_taken = sc->isolate_pages(nr_to_scan,
> > > Â Â Â Â Â Â Â Â Â Â Â Â Â Â &page_list, &nr_scan, sc->order, mode,
> > > Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âzone, sc->mem_cgroup, 0, file);
>
> The new behavior is to scan exactly the number of pages that
> shrink_zone() or other callers tell it. It won't try to "round it up"
> to 32 pages. This new behavior is in line with shrink_active_list()'s
> current status as well as shrink_zone()'s expectation.
>
> shrink_zone() may still submit scan requests for <32 pages, which is
> suboptimal. I'll try to eliminate that totally with more patches.

Your explanation seems makes sense.
I'll wait your next spin :)





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/