public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Bill Davidsen <davidsen@tmr.com>
To: linux-kernel@vger.kernel.org
Subject: Re: VM Problems in 2.6.7 (Too active OOM Killer)
Date: Mon, 19 Jul 2004 16:21:48 -0400	[thread overview]
Message-ID: <cdha25$6bl$1@gatekeeper.tmr.com> (raw)
In-Reply-To: <20040715015431.GF3411@holomorphy.com>

William Lee Irwin III wrote:
> On Wed, 2004-07-14 at 15:44, Andrew Morton wrote:
> 
>>>If the kernel has no swap there is nothing it can do with an anonymous page
>>>(ie: the thing whcih malloc() gives you).  It is effectively pinned memory,
>>>because there's nowhere we can write it to get rid of it.
> 
> 
> On Wed, Jul 14, 2004 at 05:30:52PM -0700, Peter Zaitsev wrote:
> 
>>Why can't it be moved to other zone if there is a lot of place where ?
>>In general I was not pushing system in some kind of stress mode - There
>>was still a lot of cache memory available. Why it could not be instead
>>shrunk to accommodate allocation ? 
> 
> 
> The only method the kernel now has to relocate userspace memory is IO.
> When mlocked, or if anonymous when there's no swap, it's pinned.
> 
> 
> On Wed, Jul 14, 2004 at 05:30:52PM -0700, Peter Zaitsev wrote:
> 
>>As I understand in my case with 4G there is  Normal zone and HighMem
>>zone where "user" anonymous memory can be located in any of these zones.
>>Is this observation correct ? 
> 
> 
> Yes.
> 
> 
> On Wed, 2004-07-14 at 15:44, Andrew Morton wrote:
> 
>>>If you end up pinning all of your ZONE_NORMAL pages with anonymous memory,
>>>further GFP_KERNEL allocation attempts will go oom.
> 
> 
> On Wed, Jul 14, 2004 at 05:30:52PM -0700, Peter Zaitsev wrote:
> 
>>Aha I see. So user level memory allocations can't cause OOM only kernel
>>level allocations can ?   In this case why do not you have some reserved
>>amount of space for these types of allocations by default ? 
> 
> 
> Userspace allocations can also trigger OOM, it's merely that in this
> case only allocations restricted to ZONE_NORMAL or below, e.g. kernel
> allocations, are affected. Your memory pressure is restricted to one zone.
> 
> 
> On Wed, Jul 14, 2004 at 05:30:52PM -0700, Peter Zaitsev wrote:
> 
>>In this case I also do not understand how swap space helps here ? If you
>>can't move page to over zone or shrink cache because of allocation type
>>how it happens you can however perform page swap ? 
> 
> 
> In order to relocate a userspace page, the kernel performs IO to write
> the page to some backing store, then lazily faults it back in later. When
> the userspace page lacks a backing store, e.g. anonymous pages on
> swapless systems, Linux does not now understand how to relocate them.

Can you briefly explain why the obvious method of moving a page from 
point A to point B, both in physical memory, can't be used? Or even the 
less obvious marking of some physical memory as swap space.

Clearly if this was as easy as it looks it would have been done, I just 
don't quite follow why it isn't easy.

And on a related topic, there was a way in 2.4 kernels to designate part 
of physical memory as swap. It was really useful if you had one of those 
386 chipsets which could only cache 64MB, and more memory than that. It 
was long ago enough that I can't remember if that was a feature or a 
patch. Actually so long ago it could have been 2.2.xx on that machine, I 
just booted it an ran it for years.

-- 
    -bill davidsen (davidsen@tmr.com)
"The secret to procrastination is to put things off until the
  last possible moment - but no longer"  -me

  parent reply	other threads:[~2004-07-19 20:19 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-14  2:23 VM Problems in 2.6.7 (Too active OOM Killer) Peter Zaitsev
2004-07-14  2:40 ` William Lee Irwin III
2004-07-14  3:20   ` Peter Zaitsev
2004-07-14  3:17 ` Andrea Arcangeli
2004-07-14  3:44   ` Peter Zaitsev
2004-07-14  4:10     ` Andrea Arcangeli
2004-07-14  4:22       ` Andrew Morton
2004-07-14  4:47         ` Andrea Arcangeli
2004-07-14  4:17     ` Andrew Morton
2004-07-14 23:47       ` Peter Zaitsev
2004-07-14 22:44         ` Andrew Morton
2004-07-15  0:06           ` Andrea Arcangeli
2004-07-15  0:30           ` Peter Zaitsev
2004-07-15  0:46             ` Andrea Arcangeli
2004-07-15  1:54             ` William Lee Irwin III
2004-07-15  2:13               ` Peter Zaitsev
2004-07-15  2:33                 ` William Lee Irwin III
2004-07-15  2:39                   ` William Lee Irwin III
2004-07-15  2:44                     ` William Lee Irwin III
2004-08-13 22:23                       ` William Lee Irwin III
2004-07-19 20:27                   ` Bill Davidsen
2004-07-18 16:13               ` Kurt Garloff
2004-07-20  9:14                 ` R. J. Wysocki
2004-07-20 13:29                 ` Andrea Arcangeli
2004-07-20 13:53                   ` William Lee Irwin III
2004-07-20 13:29                 ` William Lee Irwin III
2004-07-19 20:21               ` Bill Davidsen [this message]
2004-07-15  0:04         ` Andrea Arcangeli
2004-07-15  0:43           ` Peter Zaitsev
2004-07-15  0:43           ` William Lee Irwin III
2004-07-15  1:04             ` Peter Zaitsev
2004-07-15  1:29               ` William Lee Irwin III
2004-07-14  3:50   ` William Lee Irwin III

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='cdha25$6bl$1@gatekeeper.tmr.com' \
    --to=davidsen@tmr.com \
    --cc=linux-kernel@vger.kernel.org \
    /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