linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Rik van Riel <riel@redhat.com>
Cc: Ron Maeder <rlm@orionmulti.com>, Rik van Riel <riel@surriel.com>,
	linux-mm@kvack.org, Andrew Morton <akpm@osdl.org>
Subject: Re: mmap() > phys mem problem
Date: Mon, 07 Jun 2004 13:59:10 +1000	[thread overview]
Message-ID: <40C3E80E.1030200@yahoo.com.au> (raw)
In-Reply-To: <Pine.LNX.4.44.0406061925550.29273-100000@chimarrao.boston.redhat.com>

Rik van Riel wrote:
> On Sun, 6 Jun 2004, Nick Piggin wrote:
> 
> 
>>OK, NFS is getting stuck in nfs_flush_one => mempool_alloc presumably
>>waiting for some network IO. Unfortunately at this point, the system
>>is so clogged up that order 0 GFP_ATOMIC allocations are failing in
>>this path: netedev_rx => refill_rx => alloc_skb. ie. deadlock.
> 
> 
> I wonder if there simply isn't enough memory available for
> GFP_ATOMIC network allocations, or if a mempool would alleviate
> the situation here.
> 

Well, no there isn't enough memory available: order 0 allocations
keep failing in the RX path (I assume each time the server retransmits)
and the machine is absolutely deadlocked.

> 
>>Sadly this seems to happen pretty easily here. I don't know the
>>network layer, so I don't know what might be required to fix it or if
>>it is even possible.
> 
> 
> The theoretically perfect fix is to have a little mempool for
> every critical socket.  That is, every NFS mount, e/g/nbd block
> device, etc...
> 

Yes. I assume there is some maximum amount of memory you might
have to allocate depending on things like fragmented and out of
order packets.

It would be cool if someone were able to come up with a formula
to capture that, and allow sockets to be marked as MEMALLOC to
enable mempool allocation.

> Of course, chances are that having one mempool for the network
> allocations might already do the trick for 95% 
> 
--
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:"aart@kvack.org"> aart@kvack.org </a>

  reply	other threads:[~2004-06-07  3:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-25 22:40 Ron Maeder
2004-05-29  2:08 ` Rik van Riel
2004-05-30  4:47   ` Ron Maeder
2004-05-30  9:24     ` Nick Piggin
2004-05-30 10:15       ` Andrew Morton
2004-06-05 19:21       ` Ron Maeder
2004-06-06  1:55         ` Nick Piggin
2004-06-06 23:51           ` Rik van Riel
2004-06-07  3:59             ` Nick Piggin [this message]
2004-06-07 12:04               ` Rik van Riel
2004-06-08  0:03                 ` Nick Piggin
2004-06-14 22:04 Ron Maeder
2004-06-15  3:19 ` Nick Piggin
2004-06-16  3:08   ` Nick Piggin
2004-06-16  6:37     ` Ron Maeder

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=40C3E80E.1030200@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=akpm@osdl.org \
    --cc=linux-mm@kvack.org \
    --cc=riel@redhat.com \
    --cc=riel@surriel.com \
    --cc=rlm@orionmulti.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