[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1241709466.11251.164.camel@twins>
Date: Thu, 07 May 2009 17:17:46 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Johannes Weiner <hannes@...xchg.org>
Cc: Wu Fengguang <fengguang.wu@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Rik van Riel <riel@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"tytso@....edu" <tytso@....edu>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
Elladan <elladan@...imo.com>, Nick Piggin <npiggin@...e.de>,
Christoph Lameter <cl@...ux-foundation.org>,
KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
Subject: Re: [PATCH -mm] vmscan: make mapped executable pages the first
class citizen
On Thu, 2009-05-07 at 17:10 +0200, Johannes Weiner wrote:
> > @@ -1269,8 +1270,15 @@ static void shrink_active_list(unsigned
> >
> > /* page_referenced clears PageReferenced */
> > if (page_mapping_inuse(page) &&
> > - page_referenced(page, 0, sc->mem_cgroup))
> > + page_referenced(page, 0, sc->mem_cgroup)) {
> > + struct address_space *mapping = page_mapping(page);
> > +
> > pgmoved++;
> > + if (mapping && test_bit(AS_EXEC, &mapping->flags)) {
> > + list_add(&page->lru, &l_active);
> > + continue;
> > + }
> > + }
>
> Since we walk the VMAs in page_referenced anyway, wouldn't it be
> better to check if one of them is executable? This would even work
> for executable anon pages. After all, there are applications that cow
> executable mappings (sbcl and other language environments that use an
> executable, run-time modified core image come to mind).
Hmm, like provide a vm_flags mask along to page_referenced() to only
account matching vmas... seems like a sensible idea.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists