All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Wu Fengguang <fengguang.wu@intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>, Elladan <elladan@eskimo.com>,
	Nick Piggin <npiggin@suse.de>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Christoph Lameter <cl@linux-foundation.org>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Rik van Riel <riel@redhat.com>, "tytso@mit.edu" <tytso@mit.edu>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"minchan.kim@gmail.com" <minchan.kim@gmail.com>
Subject: Re: [PATCH 2/3] vmscan: make mapped executable pages the first class  citizen
Date: Tue, 19 May 2009 09:44:23 +0200	[thread overview]
Message-ID: <1242719063.26820.457.camel@twins> (raw)
In-Reply-To: <84144f020905182339o5fb1e78eved95c4c20fd9ffa7@mail.gmail.com>

On Tue, 2009-05-19 at 09:39 +0300, Pekka Enberg wrote:
> Hi!
> 
> On Sat, May 16, 2009 at 12:00 PM, Wu Fengguang <fengguang.wu@intel.com> 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.

Its a sekrit conspiracy against bloat by making JIT'd crap run
slower :-)

<rant>
Anyway, I just checked, we install tons of mono junk for _2_
applications, f-spot and tomboy, both are shite and both have
alternatives not requiring this disease.
</rant>

But seriously, like Kosaka-san already said, anonymous pages are treated
differently from file pages and should not suffer the same problems.

WARNING: multiple messages have this Message-ID (diff)
From: Peter Zijlstra <peterz@infradead.org>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Wu Fengguang <fengguang.wu@intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>, Elladan <elladan@eskimo.com>,
	Nick Piggin <npiggin@suse.de>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Christoph Lameter <cl@linux-foundation.org>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Rik van Riel <riel@redhat.com>, "tytso@mit.edu" <tytso@mit.edu>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"minchan.kim@gmail.com" <minchan.kim@gmail.com>
Subject: Re: [PATCH 2/3] vmscan: make mapped executable pages the first class  citizen
Date: Tue, 19 May 2009 09:44:23 +0200	[thread overview]
Message-ID: <1242719063.26820.457.camel@twins> (raw)
In-Reply-To: <84144f020905182339o5fb1e78eved95c4c20fd9ffa7@mail.gmail.com>

On Tue, 2009-05-19 at 09:39 +0300, Pekka Enberg wrote:
> Hi!
> 
> On Sat, May 16, 2009 at 12:00 PM, Wu Fengguang <fengguang.wu@intel.com> 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.

Its a sekrit conspiracy against bloat by making JIT'd crap run
slower :-)

<rant>
Anyway, I just checked, we install tons of mono junk for _2_
applications, f-spot and tomboy, both are shite and both have
alternatives not requiring this disease.
</rant>

But seriously, like Kosaka-san already said, anonymous pages are treated
differently from file pages and should not suffer the same problems.

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

  parent reply	other threads:[~2009-05-19  7:45 UTC|newest]

Thread overview: 137+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-16  9:00 [PATCH 0/3] make mapped executable pages the first class citizen Wu Fengguang
2009-05-16  9:00 ` Wu Fengguang
2009-05-16  9:00 ` [PATCH 1/3] vmscan: report vm_flags in page_referenced() Wu Fengguang
2009-05-16  9:00   ` Wu Fengguang
2009-05-16 13:17   ` Johannes Weiner
2009-05-16 13:17     ` Johannes Weiner
2009-05-16 13:37   ` Rik van Riel
2009-05-16 13:37     ` Rik van Riel
2009-05-17  0:35   ` Minchan Kim
2009-05-17  0:35     ` Minchan Kim
2009-05-17  1:36   ` Minchan Kim
2009-05-17  1:36     ` Minchan Kim
2009-05-17  1:58     ` Wu Fengguang
2009-05-17  1:58       ` Wu Fengguang
2009-05-16  9:00 ` [PATCH 2/3] vmscan: make mapped executable pages the first class citizen Wu Fengguang
2009-05-16  9:00   ` Wu Fengguang
2009-05-16  9:28   ` Wu Fengguang
2009-05-16  9:28     ` Wu Fengguang
2009-05-16 13:20     ` Johannes Weiner
2009-05-16 13:20       ` Johannes Weiner
2009-05-17  0:38     ` Minchan Kim
2009-05-17  0:38       ` Minchan Kim
2009-05-18 14:46     ` Christoph Lameter
2009-05-18 14:46       ` Christoph Lameter
2009-05-19  3:27       ` Wu Fengguang
2009-05-19  3:27         ` Wu Fengguang
2009-05-19  4:41         ` KOSAKI Motohiro
2009-05-19  4:41           ` KOSAKI Motohiro
2009-05-19  4:44           ` KOSAKI Motohiro
2009-05-19  4:44             ` KOSAKI Motohiro
2009-05-19  4:48             ` Wu Fengguang
2009-05-19  4:48               ` Wu Fengguang
2009-05-19  5:09           ` Wu Fengguang
2009-05-19  6:27             ` Wu Fengguang
2009-05-19  6:27               ` Wu Fengguang
2009-05-19  6:25           ` Wu Fengguang
2009-05-19  6:25             ` Wu Fengguang
2009-05-20 11:20             ` Andi Kleen
2009-05-20 11:20               ` Andi Kleen
2009-05-20 14:32               ` Wu Fengguang
2009-05-20 14:32                 ` Wu Fengguang
2009-05-20 14:47                 ` Andi Kleen
2009-05-20 14:47                   ` Andi Kleen
2009-05-20 14:56                   ` Wu Fengguang
2009-05-20 14:56                     ` Wu Fengguang
2009-05-20 15:38                     ` Wu Fengguang
2009-05-20 15:38                       ` Wu Fengguang
2009-06-08 12:14                       ` Nai Xia
2009-06-08 12:14                         ` Nai Xia
2009-06-08 12:46                         ` Wu Fengguang
2009-06-08 12:46                           ` Wu Fengguang
2009-06-08 15:02                           ` Nai Xia
2009-06-08 15:02                             ` Nai Xia
2009-06-08  7:39               ` Wu Fengguang
2009-06-08  7:39                 ` Wu Fengguang
2009-06-08  7:51                 ` KOSAKI Motohiro
2009-06-08  7:51                   ` KOSAKI Motohiro
2009-06-08  7:56                   ` Wu Fengguang
2009-06-08  7:56                     ` Wu Fengguang
2009-06-08 17:18                 ` Nai Xia
2009-06-08 17:18                   ` Nai Xia
2009-06-09  6:44                   ` Wu Fengguang
2009-06-09  6:44                     ` Wu Fengguang
2009-05-19  7:15           ` Wu Fengguang
2009-05-19  7:15             ` Wu Fengguang
2009-05-19  7:20             ` KOSAKI Motohiro
2009-05-19  7:20               ` KOSAKI Motohiro
2009-05-19  7:49               ` Wu Fengguang
2009-05-19  7:49                 ` Wu Fengguang
2009-05-19  8:06                 ` KOSAKI Motohiro
2009-05-19  8:06                   ` KOSAKI Motohiro
2009-05-19  8:53                   ` Wu Fengguang
2009-05-19  8:53                     ` Wu Fengguang
2009-05-19 12:28                     ` KOSAKI Motohiro
2009-05-19 12:28                       ` KOSAKI Motohiro
2009-05-20  1:44                       ` Wu Fengguang
2009-05-20  1:44                         ` Wu Fengguang
2009-05-20  1:59                         ` KOSAKI Motohiro
2009-05-20  1:59                           ` KOSAKI Motohiro
2009-05-20  2:31                           ` Wu Fengguang
2009-05-20  2:58                             ` KOSAKI Motohiro
2009-05-20  2:58                               ` KOSAKI Motohiro
2009-05-19 13:24                     ` Rik van Riel
2009-05-19 13:24                       ` Rik van Riel
2009-05-19 15:55                       ` KOSAKI Motohiro
2009-05-19 15:55                         ` KOSAKI Motohiro
2009-05-19  6:39   ` Pekka Enberg
2009-05-19  6:39     ` Pekka Enberg
2009-05-19  6:56     ` KOSAKI Motohiro
2009-05-19  6:56       ` KOSAKI Motohiro
2009-05-19  7:44     ` Peter Zijlstra [this message]
2009-05-19  7:44       ` Peter Zijlstra
2009-05-19  8:05       ` Pekka Enberg
2009-05-19  8:05         ` Pekka Enberg
2009-05-19  8:12         ` Wu Fengguang
2009-05-19  8:12           ` Wu Fengguang
2009-05-19  8:14           ` Pekka Enberg
2009-05-19  8:14             ` Pekka Enberg
2009-05-19 13:14     ` Rik van Riel
2009-05-19 13:14       ` Rik van Riel
2009-05-16  9:00 ` [PATCH 3/3] vmscan: merge duplicate code in shrink_active_list() Wu Fengguang
2009-05-16  9:00   ` Wu Fengguang
2009-05-16 13:39   ` Johannes Weiner
2009-05-16 13:39     ` Johannes Weiner
2009-05-16 13:47     ` Wu Fengguang
2009-05-16 13:47       ` Wu Fengguang
2009-05-16 14:35   ` Rik van Riel
2009-05-16 14:35     ` Rik van Riel
2009-05-17  1:24   ` Minchan Kim
2009-05-17  1:24     ` Minchan Kim
2009-05-16 14:56 ` [PATCH 0/3] make mapped executable pages the first class citizen Peter Zijlstra
2009-06-17 21:11   ` Jesse Barnes
2009-06-17 21:37     ` Jesse Barnes
2009-06-18  1:25     ` Wu Fengguang
2009-06-18  1:25       ` Wu Fengguang
2009-06-18 16:33       ` Jesse Barnes
2009-06-18 16:33         ` Jesse Barnes
2009-06-19  9:00       ` Wu, Fengguang
2009-06-19  9:00         ` Wu, Fengguang
2009-06-19  9:04         ` Peter Zijlstra
2009-06-19  9:04           ` Peter Zijlstra
2009-06-19  9:32           ` Wu Fengguang
2009-06-19  9:32             ` Wu Fengguang
2009-06-19 16:43             ` Jesse Barnes
2009-06-19 16:43               ` Jesse Barnes
2009-07-04  1:27               ` Roger WANG
2009-07-04  1:27                 ` Roger WANG
2009-07-06 17:38                 ` Jesse Barnes
2009-07-06 17:38                   ` Jesse Barnes
  -- strict thread matches above, loose matches on Subject: below --
2009-05-17  2:23 Wu Fengguang
2009-05-17  2:23 ` [PATCH 2/3] vmscan: " Wu Fengguang
2009-05-17  2:23   ` Wu Fengguang
2009-05-19  8:59   ` Wu Fengguang
2009-05-19  8:59     ` Wu Fengguang
2009-06-08  9:10 [PATCH 0/3] make mapped executable pages the first class citizen (with test cases) Wu Fengguang
2009-06-08  9:10 ` [PATCH 2/3] vmscan: make mapped executable pages the first class citizen Wu Fengguang
2009-06-08 15:34   ` Christoph Lameter
2009-06-08 17:30     ` Nai Xia
2009-06-09  3:28     ` Wu Fengguang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1242719063.26820.457.camel@twins \
    --to=peterz@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux-foundation.org \
    --cc=elladan@eskimo.com \
    --cc=fengguang.wu@intel.com \
    --cc=hannes@cmpxchg.org \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=minchan.kim@gmail.com \
    --cc=npiggin@suse.de \
    --cc=penberg@cs.helsinki.fi \
    --cc=riel@redhat.com \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.