linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Wu, Fengguang" <fengguang.wu@intel.com>
To: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Rik van Riel <riel@redhat.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Mel Gorman <mel@csn.ul.ie>,
	Christoph Lameter <cl@linux-foundation.org>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
	"tytso@mit.edu" <tytso@mit.edu>,
	"elladan@eskimo.com" <elladan@eskimo.com>,
	"npiggin@suse.de" <npiggin@suse.de>,
	"minchan.kim@gmail.com" <minchan.kim@gmail.com>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	"Wang, Roger" <roger.wang@intel.com>
Subject: Re: [PATCH 0/3] make mapped executable pages the first class citizen
Date: Fri, 19 Jun 2009 17:00:11 +0800	[thread overview]
Message-ID: <20090619090011.GA30561@localhost> (raw)
In-Reply-To: <20090618012532.GB19732@localhost>

[add CC]

This OOM case looks like the same bug encountered by David Howells.

> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426766] Active_anon:290797 active_file:28 inactive_anon:97034
> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426767]  inactive_file:61 unevictable:11322 dirty:0 writeback:0 unstable:0
> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426768]  free:3341 slab:13776 mapped:5880 pagetables:6851 bounce:0

active/inactive_anon pages take up 4/5 memory.  Are you using TMPFS a lot?

Thanks,
Fengguang


On Thu, 18 Jun 2009 09:25:32 +0800
Wu Fengguang <fengguang.wu@intel.com> wrote:

> On Thu, Jun 18, 2009 at 05:11:35AM +0800, Jesse Barnes wrote:
> > On Sat, 16 May 2009 16:56:16 +0200
> > Peter Zijlstra <peterz@infradead.org> wrote:
> > 
> > > On Sat, 2009-05-16 at 17:00 +0800, Wu Fengguang wrote:
> > > > Andrew,
> > > > 
> > > > This patchset makes mapped executable pages the first class
> > > > citizen. This version has incorparated many valuable comments
> > > > from people in the CC list, and runs OK on my desktop. Let's
> > > > test it in your -mm?
> > > 
> > > Seems like a good set to me. Thanks for following this through Wu!
> > 
> > Now that this set has hit the mainline I just wanted to chime in and
> > say this makes a big difference.  Under my current load (a parallel
> > kernel build and virtualbox session the old kernel would have been
> > totally unusable.  With Linus's current bits, things are much better
> > (still a little sluggish with a big dd going on in the virtualbox,
> > but actually usable).
> > 
> > Thanks!
> 
> Jesse, thank you for the feedback :)  And I'd like to credit Rik for
> his patch on protecting active file LRU pages from being flushed by
> streaming IO!

Unfortunately I came in this morning to an OOM'd machine.  I do push it
pretty hard, but this is the first time I've seen an OOM.  It happened
yesterday evening while I was away from the machine:

Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426677] apt-check invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426682] apt-check cpuset=/ mems_allowed=0
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426686] Pid: 23105, comm: apt-check Tainted: G    B   W  2.6.30 #11
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426688] Call Trace:
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426696]  [<ffffffff810861fd>] ? cpuset_print_task_mems_allowed+0x8d/0xa0
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426701]  [<ffffffff810b984e>] oom_kill_process+0x17e/0x290
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426705]  [<ffffffff810b9e0b>] ? select_bad_process+0x8b/0x110
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426708]  [<ffffffff810b9ee0>] __out_of_memory+0x50/0xb0
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426712]  [<ffffffff810b9f9f>] out_of_memory+0x5f/0xc0
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426715]  [<ffffffff810bc5a3>] __alloc_pages_nodemask+0x623/0x640
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426719]  [<ffffffff810bf8ea>] __do_page_cache_readahead+0xda/0x210
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426722]  [<ffffffff810bfa3c>] ra_submit+0x1c/0x20
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426725]  [<ffffffff810b886e>] filemap_fault+0x3ce/0x3e0
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426729]  [<ffffffff810ce3a3>] __do_fault+0x53/0x510
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426732]  [<ffffffff810d27ea>] handle_mm_fault+0x1da/0x8c0
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426737]  [<ffffffff814b5724>] do_page_fault+0x1a4/0x310
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426740]  [<ffffffff814b31d5>] page_fault+0x25/0x30
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426742] Mem-Info:
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426744] DMA per-cpu:
Jun 18 07:44:52 jbarnes-g45 kernel: [64377.426746] CPU    0: hi:    0, btch:   1 usd:   0
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426748] CPU    1: hi:    0, btch:   1 usd:   0
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426750] CPU    2: hi:    0, btch:   1 usd:   0
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426752] CPU    3: hi:    0, btch:   1 usd:   0
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426754] DMA32 per-cpu:
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426756] CPU    0: hi:  186, btch:  31 usd: 103
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426758] CPU    1: hi:  186, btch:  31 usd: 117
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426760] CPU    2: hi:  186, btch:  31 usd: 181
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426762] CPU    3: hi:  186, btch:  31 usd: 181
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426766] Active_anon:290797 active_file:28 inactive_anon:97034
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426767]  inactive_file:61 unevictable:11322 dirty:0 writeback:0 unstable:0
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426768]  free:3341 slab:13776 mapped:5880 pagetables:6851 bounce:0
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426772] DMA free:7776kB min:40kB low:48kB high:60kB active_anon:556kB inactive_anon:524kB active_file:16kB inactive_file:0kB unevictable:0kB present:15340kB pages_scanned:30 all_unreclaimable? no
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426775] lowmem_reserve[]: 0 1935 1935 1935
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426781] DMA32 free:5588kB min:5608kB low:7008kB high:8412kB active_anon:1162632kB inactive_anon:387612kB active_file:96kB inactive_file:256kB unevictable:45288kB present:1982128kB pages_scanned:980 all_unreclaimable? no
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426784] lowmem_reserve[]: 0 0 0 0
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426787] DMA: 64*4kB 77*8kB 45*16kB 18*32kB 4*64kB 2*128kB 2*256kB 3*512kB 1*1024kB 1*2048kB 0*4096kB = 7800kB
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426796] DMA32: 871*4kB 149*8kB 1*16kB 2*32kB 1*64kB 0*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 5588kB
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426804] 151250 total pagecache pages
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426806] 18973 pages in swap cache
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426808] Swap cache stats: add 610640, delete 591667, find 144356/181468
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426810] Free swap  = 0kB
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426811] Total swap = 979956kB
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.434828] 507136 pages RAM
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.434831] 23325 pages reserved
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.434832] 190892 pages shared
Jun 18 07:44:53 jbarnes-g45 kernel: [64377.434833] 248816 pages non-shared

As you can see, all my swap has been eaten and my anon lists are pretty
huge (relative to memory size, I only have 2G in this box).  I suspect
the gfx driver is eating quite a bit of the anon memory, but this is
the first OOM I've seen...  I'll look around for some tools to analyze
my anon memory usage; maybe Virtualbox is doing something pathological;
clearly something is out of control here at any rate.
-- 
Jesse Barnes, Intel Open Source Technology Center

  parent reply	other threads:[~2009-06-19  9:00 UTC|newest]

Thread overview: 86+ 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 ` [PATCH 1/3] vmscan: report vm_flags in page_referenced() Wu Fengguang
2009-05-16 13:17   ` Johannes Weiner
2009-05-16 13:37   ` Rik van Riel
2009-05-17  0:35   ` Minchan Kim
2009-05-17  1:36   ` Minchan Kim
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:28   ` Wu Fengguang
2009-05-16 13:20     ` Johannes Weiner
2009-05-17  0:38     ` Minchan Kim
2009-05-18 14:46     ` Christoph Lameter
2009-05-19  3:27       ` Wu Fengguang
2009-05-19  4:41         ` KOSAKI Motohiro
2009-05-19  4:44           ` KOSAKI Motohiro
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:25           ` Wu Fengguang
2009-05-20 11:20             ` Andi Kleen
2009-05-20 14:32               ` Wu Fengguang
2009-05-20 14:47                 ` Andi Kleen
2009-05-20 14:56                   ` Wu Fengguang
2009-05-20 15:38                     ` Wu Fengguang
2009-06-08 12:14                       ` Nai Xia
2009-06-08 12:46                         ` Wu Fengguang
2009-06-08 15:02                           ` Nai Xia
2009-06-08  7:39               ` Wu Fengguang
2009-06-08  7:51                 ` KOSAKI Motohiro
2009-06-08  7:56                   ` Wu Fengguang
2009-06-08 17:18                 ` Nai Xia
2009-06-09  6:44                   ` Wu Fengguang
2009-05-19  7:15           ` Wu Fengguang
2009-05-19  7:20             ` KOSAKI Motohiro
2009-05-19  7:49               ` Wu Fengguang
2009-05-19  8:06                 ` KOSAKI Motohiro
2009-05-19  8:53                   ` Wu Fengguang
2009-05-19 12:28                     ` KOSAKI Motohiro
2009-05-20  1:44                       ` Wu Fengguang
2009-05-20  1:59                         ` KOSAKI Motohiro
2009-05-20  2:31                           ` Wu Fengguang
2009-05-20  2:58                             ` KOSAKI Motohiro
2009-05-19 13:24                     ` Rik van Riel
2009-05-19 15:55                       ` KOSAKI Motohiro
2009-05-19  6:39   ` Pekka Enberg
2009-05-19  6:56     ` KOSAKI Motohiro
2009-05-19  7:44     ` Peter Zijlstra
2009-05-19  8:05       ` Pekka Enberg
2009-05-19  8:12         ` Wu Fengguang
2009-05-19  8:14           ` Pekka Enberg
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 13:39   ` Johannes Weiner
2009-05-16 13:47     ` Wu Fengguang
2009-05-16 14:35   ` Rik van Riel
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 16:33       ` Jesse Barnes
2009-06-19  9:00       ` Wu, Fengguang [this message]
2009-06-19  9:04         ` Peter Zijlstra
2009-06-19  9:32           ` Wu Fengguang
2009-06-19 16:43             ` Jesse Barnes
2009-07-04  1:27               ` Roger WANG
2009-07-06 17:38                 ` Jesse Barnes
  -- strict thread matches above, loose matches on Subject: below --
2009-05-17  2:23 Wu Fengguang
2009-06-18 14:46 ` David Howells
2009-06-19  5:24   ` Wu Fengguang
2009-06-19  5:58   ` Wu Fengguang
2009-06-19  8:06   ` David Howells
2009-06-18 14:51 ` David Howells
2009-06-18 16:18 ` David Howells
2009-06-18 16:57   ` Andrew Morton
2009-06-20  4:33     ` Wu Fengguang
2009-06-20  8:24     ` David Howells
2009-06-23 14:43     ` David Howells
2009-06-24  1:43       ` KOSAKI Motohiro
2009-06-24  2:32       ` Wu Fengguang
2009-06-24  2:43         ` KOSAKI Motohiro
2009-06-24  2:49           ` Wu Fengguang
2009-06-27 11:53           ` Johannes Weiner
2009-06-27 18:40           ` David Howells
2009-06-24 13:07       ` David Howells
2009-06-19  5:27   ` 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=20090619090011.GA30561@localhost \
    --to=fengguang.wu@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux-foundation.org \
    --cc=elladan@eskimo.com \
    --cc=hannes@cmpxchg.org \
    --cc=jbarnes@virtuousgeek.org \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mel@csn.ul.ie \
    --cc=minchan.kim@gmail.com \
    --cc=npiggin@suse.de \
    --cc=peterz@infradead.org \
    --cc=riel@redhat.com \
    --cc=roger.wang@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).