From: Dave Peterson <dsp@llnl.gov>
To: Paul Jackson <pj@sgi.com>
Cc: linux-kernel@vger.kernel.org, akpm@osdl.org,
nickpiggin@yahoo.com.au, ak@suse.de, linux-mm@kvack.org,
garlick@llnl.gov, mgrondona@llnl.gov
Subject: Re: [PATCH (try #2)] mm: avoid unnecessary OOM kills
Date: Mon, 22 May 2006 16:35:14 -0700 [thread overview]
Message-ID: <7.0.0.16.2.20060522154857.02429fd8@llnl.gov> (raw)
In-Reply-To: <20060522151227.37fd9e51.pj@sgi.com>
At 03:12 PM 5/22/2006, Paul Jackson wrote:
>Why disable this printk_ratelimit? Does this expose us to a Denial of
>Service attack from someone forcing multiple oom-kills in a small
>cpuset, generating much kernel printk output?
I figured that the printk_ratelimit() was probably placed there to
eliminate excessive noise due to the following scenario:
- Process X calls out_of_memory() and shoots process Y.
- Until Y gets a chance to execute and expire, lots of
other processes will probably be failing their memory
allocations and calling out_of_memory(), spewing more
printk() messages.
I figured that since serializing the OOM kills would eliminate
this behavior, the printk_ratelimit() was no longer necessary.
However, there would still be lots of messages if the OOM killer
is repeatedly triggered due to lots of little processes eating
up memory. In this case the printk_ratelimit() would serve a
purpose. In any event there's no harm in leaving it in. I'll
add back the printk_ratelimit() and make a new patch...
>> +/* Try to allocate one more time before invoking the OOM killer. */
>> +static struct page * oom_alloc(gfp_t gfp_mask, unsigned int order,
>
>This comment is slightly stale. Not only does oom_alloc() try one
>more allocation, it also actually does invoke the OOM killer.
>
>How about the comment:
>
> /* Serialize oom killing, while trying to allocate a page */
>
>Or some such ..
How about the following?
/* If an OOM kill is not already in progress, try once more to
* allocate memory. If allocation fails this time, invoke the
* OOM killer.
*/
--
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>
next prev parent reply other threads:[~2006-05-22 23:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-22 21:43 Dave Peterson
2006-05-22 22:12 ` Paul Jackson
2006-05-22 23:35 ` Dave Peterson [this message]
2006-05-22 23:54 ` Paul Jackson
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=7.0.0.16.2.20060522154857.02429fd8@llnl.gov \
--to=dsp@llnl.gov \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=garlick@llnl.gov \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgrondona@llnl.gov \
--cc=nickpiggin@yahoo.com.au \
--cc=pj@sgi.com \
/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