linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@google.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	David Miller <davem@davemloft.net>,
	riel@redhat.com, tgraf@suug.ch, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	Mike Christie <michaelc@cs.wisc.edu>
Subject: Re: Network receive stall avoidance (was [PATCH 2/9] deadlock prevention core)
Date: Fri, 18 Aug 2006 21:14:09 -0700	[thread overview]
Message-ID: <44E69011.4080604@google.com> (raw)
In-Reply-To: <20060818194435.25bacee0.akpm@osdl.org>

Andrew Morton wrote:
>>handwaving
> 
> - The mmap(MAP_SHARED)-the-whole-world scenario should be fixed by
>   mm-tracking-shared-dirty-pages.patch.  Please test it and if you are
>   still able to demonstrate deadlocks, describe how, and why they
>   are occurring.

OK, but please see "atomic 0 order allocation failure" below.

> - We expect that the lots-of-dirty-anon-memory-over-swap-over-network
>   scenario might still cause deadlocks.  
> 
>   I assert that this can be solved by putting swap on local disks.  Peter
>   asserts that this isn't acceptable due to disk unreliability.  I point
>   out that local disk reliability can be increased via MD, all goes quiet.
> 
>   A good exposition which helps us to understand whether and why a
>   significant proportion of the target user base still wishes to do
>   swap-over-network would be useful.

I don't care much about swap-over-network, Peter does.  I care about
reliable remote disks in general, and reliable nbd in particular.

> - Assuming that exposition is convincing, I would ask that you determine
>   at what level of /proc/sys/vm/min_free_kbytes the swap-over-network
>   deadlock is no longer demonstrable.

Earlier, I wrote: "we need to actually fix the out of memory
deadlock/performance bug right now so that remote storage works
properly."  It is actually far more likely that memory reclaim stuffups
will cause TCP to drop block IO packets here and there than that we
will hit some endless retransmit deadlock.  But dropping packets and
thus causing TCP stalls during block writeout is a very bad thing too,
I do not think you could call a system that exhibits such behavior a
particularly reliable one.

So rather than just the word deadlock, let us add "or atomic 0 order
alloc failure during TCP receive" to the challenge.  Fair?

On the client send side, Peter already showed an easily reproducable
deadlock which we avoid by using elevator-noop.  The bug is still
there, it is just under a different rock now.

Regards,

Daniel

--
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>

  reply	other threads:[~2006-08-19  4:14 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-08 19:33 [RFC][PATCH 0/9] Network receive deadlock prevention for NBD Peter Zijlstra
2006-08-08 19:33 ` [RFC][PATCH 1/9] pfn_to_kaddr() for UML Peter Zijlstra
2006-08-08 19:33 ` [RFC][PATCH 2/9] deadlock prevention core Peter Zijlstra
2006-08-08 20:57   ` Stephen Hemminger
2006-08-08 21:05     ` Peter Zijlstra
2006-08-09  1:33     ` Daniel Phillips
2006-08-09  1:38       ` David Miller, Daniel Phillips
2006-08-08 21:17   ` Thomas Graf
2006-08-09  1:34     ` Daniel Phillips
2006-08-09  1:39       ` David Miller, Daniel Phillips
2006-08-09  5:47         ` Daniel Phillips
2006-08-09 13:19           ` Thomas Graf
2006-08-09 14:07             ` Peter Zijlstra
2006-08-09 16:18               ` Thomas Graf
2006-08-09 16:19                 ` Peter Zijlstra
2006-08-10  0:01                   ` David Miller, Peter Zijlstra
2006-08-09 23:58               ` David Miller, Peter Zijlstra
2006-08-10  6:25                 ` Peter Zijlstra
2006-08-11  4:24                 ` Stephen Hemminger
2006-08-13 21:22                 ` Daniel Phillips
2006-08-13 23:49                   ` David Miller, Daniel Phillips
2006-08-14  1:15                     ` Daniel Phillips
2006-08-11  2:37     ` Rik van Riel
2006-08-13 22:05       ` Daniel Phillips
2006-08-13 23:55         ` David Miller, Daniel Phillips
2006-08-14  1:31           ` Daniel Phillips
2006-08-14  1:53             ` Andrew Morton
2006-08-14  4:40               ` Peter Zijlstra
2006-08-14  4:58                 ` Andrew Morton
2006-08-14  5:03                   ` Peter Zijlstra
2006-08-14  5:22                     ` Andrew Morton
2006-08-14  6:45                       ` Peter Zijlstra
2006-08-14  7:07                         ` Andrew Morton
2006-08-14  8:15                           ` Peter Zijlstra
2006-08-14  8:25                             ` Evgeniy Polyakov
2006-08-14  8:35                               ` Peter Zijlstra
2006-08-14  8:33                           ` David Miller, Andrew Morton
2006-08-17  4:27                           ` Daniel Phillips
2006-08-14  7:17                         ` Neil Brown
2006-08-14  7:31                           ` Evgeniy Polyakov
2006-08-17  3:58                   ` Daniel Phillips
2006-08-17  5:57                     ` Andrew Morton
2006-08-17 23:53                       ` Daniel Phillips
2006-08-18  0:24                         ` Rik van Riel
2006-08-18  0:35                         ` Daniel Phillips
2006-08-18  1:14                         ` Neil Brown
2006-08-18  6:05                         ` Andrew Morton
2006-08-18 21:22                           ` Daniel Phillips
2006-08-18 22:34                             ` Andrew Morton
2006-08-18 23:44                               ` Daniel Phillips
2006-08-19  2:44                                 ` Andrew Morton
2006-08-19  4:14                                   ` Daniel Phillips [this message]
2006-08-19  7:28                                     ` Network receive stall avoidance (was [PATCH 2/9] deadlock prevention core) Andrew Morton
2006-08-19 15:06                                   ` [RFC][PATCH 2/9] deadlock prevention core Rik van Riel
2006-08-20  1:33                                     ` Andre Tomt
2006-08-19 16:53                                   ` Ray Lee
2006-08-21 13:27                                   ` Philip R. Auld
2006-08-25 10:47                                     ` Pavel Machek
2006-08-21 13:38                                 ` Jens Axboe
2006-08-08 22:10   ` David Miller
2006-08-09  1:35     ` Daniel Phillips
2006-08-09  1:41       ` David Miller, Daniel Phillips
2006-08-09  5:44         ` Daniel Phillips
2006-08-09  7:00           ` Peter Zijlstra
     [not found]   ` <42414.81.207.0.53.1155080443.squirrel@81.207.0.53>
2006-08-09  0:25     ` Daniel Phillips
2006-08-09 12:02       ` Indan Zupancic
2006-08-09 12:54         ` Peter Zijlstra
2006-08-09 13:48           ` Indan Zupancic
2006-08-09 14:00             ` Peter Zijlstra
2006-08-09 18:34               ` Indan Zupancic
2006-08-09 19:45                 ` Peter Zijlstra
2006-08-09 20:19                   ` Peter Zijlstra
2006-08-10  1:21                   ` Indan Zupancic
2006-08-09 16:05   ` -v2 " Peter Zijlstra
2006-08-08 19:33 ` [RFC][PATCH 3/9] e1000 driver conversion Peter Zijlstra
2006-08-08 20:50   ` Auke Kok
2006-08-08 20:59     ` Peter Zijlstra
2006-08-08 22:32     ` David Miller, Auke Kok
2006-08-08 22:42       ` Auke Kok
2006-08-08 19:34 ` [RFC][PATCH 4/9] e100 " Peter Zijlstra
2006-08-08 20:13   ` Auke Kok
2006-08-08 20:18     ` Peter Zijlstra
2006-08-08 19:34 ` [RFC][PATCH 5/9] r8169 " Peter Zijlstra
2006-08-08 19:34 ` [RFC][PATCH 6/9] tg3 " Peter Zijlstra
2006-08-08 19:34 ` [RFC][PATCH 7/9] UML eth " Peter Zijlstra
2006-08-08 19:34 ` [RFC][PATCH 8/9] 3c59x " Peter Zijlstra
2006-08-08 23:07   ` Jeff Garzik
2006-08-09  5:51     ` Daniel Phillips
2006-08-09  5:55       ` David Miller, Daniel Phillips
2006-08-09  6:30         ` Jeff Garzik
2006-08-09  7:03           ` Peter Zijlstra
2006-08-09  7:20             ` Jeff Garzik
2006-08-13 19:38         ` Daniel Phillips
2006-08-13 19:53           ` Jeff Garzik
2006-08-08 19:34 ` [RFC][PATCH 9/9] deadlock prevention for NBD Peter Zijlstra
2006-08-09  5:46 ` [RFC][PATCH 0/9] Network receive " Evgeniy Polyakov
2006-08-09  5:52   ` Daniel Phillips
2006-08-09  5:56     ` David Miller, Daniel Phillips
2006-08-09  5:53   ` David Miller, Evgeniy Polyakov
2006-08-09  5:55     ` Evgeniy Polyakov
2006-08-09 12:37   ` Peter Zijlstra
2006-08-09 13:07     ` Evgeniy Polyakov
2006-08-09 13:32       ` Peter Zijlstra
2006-08-09 19:29         ` Evgeniy Polyakov
2006-08-09 23:54         ` David Miller, Peter Zijlstra
2006-08-10  6:06           ` Peter Zijlstra
2006-08-13 20:16             ` Daniel Phillips
2006-08-14  5:13               ` Evgeniy Polyakov
2006-08-14  6:45                 ` Peter Zijlstra
2006-08-14  6:54                   ` Evgeniy Polyakov
2006-08-17  4:49                     ` Daniel Phillips
2006-08-17  4:48                 ` Daniel Phillips
2006-08-17  5:36                   ` Evgeniy Polyakov
2006-08-17 18:01                     ` Daniel Phillips
2006-08-17 18:42                       ` Evgeniy Polyakov
2006-08-17 19:15                         ` Peter Zijlstra
2006-08-17 19:48                           ` Evgeniy Polyakov
2006-08-17 23:24                             ` Daniel Phillips
2006-08-18  7:16                               ` Evgeniy Polyakov
2006-08-12  3:42         ` Rik van Riel
2006-08-12  8:47           ` Evgeniy Polyakov
2006-08-12  9:19             ` Peter Zijlstra
2006-08-12  9:37               ` Evgeniy Polyakov
2006-08-12 10:18                 ` Peter Zijlstra
2006-08-12 10:42                   ` Evgeniy Polyakov
2006-08-12 10:51                     ` Evgeniy Polyakov
2006-08-12 11:40                     ` Peter Zijlstra
2006-08-12 11:53                       ` Evgeniy Polyakov
2006-08-13  0:46                   ` David Miller, Peter Zijlstra
2006-08-13  1:11                     ` Rik van Riel
2006-08-12 14:40                 ` Rik van Riel
2006-08-12 14:49                   ` Evgeniy Polyakov
2006-08-12 14:56                     ` Rik van Riel
2006-08-12 15:08                       ` Evgeniy Polyakov
2006-08-12 15:22                         ` Peter Zijlstra
2006-08-14  0:56                         ` Daniel Phillips
2006-08-13  0:46                 ` David Miller, Evgeniy Polyakov
2006-08-13  9:06                   ` Evgeniy Polyakov
2006-08-13  9:52                     ` Evgeniy Polyakov
2006-08-15 19:17 ` Pavel Machek

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=44E69011.4080604@google.com \
    --to=phillips@google.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@osdl.org \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=michaelc@cs.wisc.edu \
    --cc=netdev@vger.kernel.org \
    --cc=riel@redhat.com \
    --cc=tgraf@suug.ch \
    /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