linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Bill Hawes <whawes@star.net>
To: "Stephen C. Tweedie" <sct@redhat.com>
Cc: Linus Torvalds <torvalds@transmeta.com>,
	Alan Cox <number6@the-village.bc.nu>,
	"David S. Miller" <davem@dm.cobaltmicro.com>,
	Ingo Molnar <mingo@valerie.inf.elte.hu>,
	Mark Hemment <markhe@nextd.demon.co.uk>,
	linux-mm@kvack.org, linux-kernel@vger.rutgers.edu
Subject: Re: Good and bad news on 2.1.110, and a fix
Date: Thu, 23 Jul 1998 12:08:08 -0400	[thread overview]
Message-ID: <35B75FE8.63173E88@star.net> (raw)
In-Reply-To: <199807231248.NAA04764@dax.dcs.ed.ac.uk>

Stephen C. Tweedie wrote:
 
> The patch to page_alloc.c is a minimal fix for the fragmentation
> problem.  It simply records allocation failures for high-order pages,
> and forces free_memory_available to return false until a page of at
> least that order becomes available.  The impact should be low, since
> with the SLAB_BREAK_GFP_ORDER patch 2.1.111-pre1 seems to survive pretty
> well anyway (and hence won't invoke the new mechanism), but in cases of
> major atomic allocation load, the patch allows even low memory machines
> to survive the ping attack handsomely (even with 8k NFS on a 6.5MB
> configuration).  I get tons of "IP: queue_glue: no memory for gluing
> queue" failures, but enough NFS retries get through even during the ping
> flood to prevent any NFS server unreachables happening.

Hi Stephen,

Your change to track the maximum failed allocation looks helpful, as
this will focus extra swap attention when a problem actually occurs. So
assuming that the client has a retry capability (as with NFS), it should
improve recoverability.

One possible downside is that kswapd infinite looping may become more
likely, as we still have no way to determine when the memory
configuration makes it impossible to achieve the memory goal. I still
see this "swap deadlock" in 110 (and all recent kernels) under low
memory or by doing a swapoff. Any ideas on how to best determine an
infeasible memory configuration?

Under some conditions the most helpful action may be to let some
allocations fail, to shed load or kill processes. (But selecting the
right process to kill may not be easy ...)

Regards,
Bill
--
This is a majordomo managed list.  To unsubscribe, send a message with
the body 'unsubscribe linux-mm me@address' to: majordomo@kvack.org

  reply	other threads:[~1998-07-23 16:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-07-23 12:48 Stephen C. Tweedie
1998-07-23 16:08 ` Bill Hawes [this message]
1998-07-23 17:30   ` Stephen C. Tweedie
1998-07-23 20:28   ` Rik van Riel
1998-07-27 11:07     ` Stephen C. Tweedie

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=35B75FE8.63173E88@star.net \
    --to=whawes@star.net \
    --cc=davem@dm.cobaltmicro.com \
    --cc=linux-kernel@vger.rutgers.edu \
    --cc=linux-mm@kvack.org \
    --cc=markhe@nextd.demon.co.uk \
    --cc=mingo@valerie.inf.elte.hu \
    --cc=number6@the-village.bc.nu \
    --cc=sct@redhat.com \
    --cc=torvalds@transmeta.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