Re: [PATCH 2/3] vmscan: make mapped executable pages the first class citizen
From: KOSAKI Motohiro
Date: Tue May 19 2009 - 02:56:37 EST
Hi
> Hi!
>
> On Sat, May 16, 2009 at 12:00 PM, Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote:
> > @@ -1272,28 +1273,40 @@ static void shrink_active_list(unsigned
> >
> > /* page_referenced clears PageReferenced */
> > if (page_mapping_inuse(page) &&
> > - page_referenced(page, 0, sc->mem_cgroup, &vm_flags))
> > + page_referenced(page, 0, sc->mem_cgroup, &vm_flags)) {
> > pgmoved++;
> > + /*
> > + * Identify referenced, file-backed active pages and
> > + * give them one more trip around the active list. So
> > + * that executable code get better chances to stay in
> > + * memory under moderate memory pressure. Anon pages
> > + * are ignored, since JVM can create lots of anon
> > + * VM_EXEC pages.
> > + */
> > + if ((vm_flags & VM_EXEC) && !PageAnon(page)) {
> > + list_add(&page->lru, &l_active);
> > + continue;
> > + }
>
> Why do we need to skip JIT'd code? There are plenty of desktop
> applications that use Mono, for example, and it would be nice if we
> gave them the same treatment as native applications. Likewise, I am
> sure all browsers that use JIT for JavaScript need to be considered.
anon pages are already protected from streaming-io by get_scan_ratio().
--
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/