public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Ben LaHaise <bcrl@redhat.com>
Cc: Linus Torvalds <torvalds@transmeta.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Rik van Riel <riel@conectiva.com.br>,
	linux-kernel@vger.kernel.org
Subject: Re: [with-PATCH-really] highmem deadlock removal, balancing & cleanup
Date: Sat, 26 May 2001 03:49:22 +0200	[thread overview]
Message-ID: <20010526034922.O9634@athlon.random> (raw)
In-Reply-To: <20010526032741.M9634@athlon.random> <Pine.LNX.4.33.0105252133210.3806-100000@toomuch.toronto.redhat.com>
In-Reply-To: <Pine.LNX.4.33.0105252133210.3806-100000@toomuch.toronto.redhat.com>; from bcrl@redhat.com on Fri, May 25, 2001 at 09:38:36PM -0400

On Fri, May 25, 2001 at 09:38:36PM -0400, Ben LaHaise wrote:
> You're missing a few subtle points:
> 
> 	1. reservations are against a specific zone

A single zone is not used only for one thing, period. In my previous
email I enlighted the only conditions under which a reserved pool can
avoid a deadlock.

> 	2. try_to_free_pages uses the swap reservation

try_to_free_pages has an huge stacking under it, bounce
bufferes/loop/nbd/whatever being just some of them.

> 	3. irqs can no longer eat memory allocations that are needed for
> 	   swap

you don't even need irq to still deadlock.

> Note that with this patch the current garbage in the zone structure with
> pages_min (which doesn't work reliably) becomes obsolete.

The "garbage" is just an heuristic to allow atomic allocation to work in
the common case dynamically. Anything deadlock related cannot rely on
pages_min.

I am talking about fixing the thing, of course I perfectly know you can
hide it pretty well, but I definitely hate those kind of hiding patches.

> > The only case where a reserved pool make sense is when you know that
> > waiting (i.e. running a task queue, scheduling and trying again to
> > allocate later) you will succeed the allocation for sure eventually
> > (possibly with a FIFO policy to make also starvation impossible, not
> > only deadlocks). If you don't have that guarantee those pools
> > atuomatically become only a sourcecode and runtime waste, possibly they
> > could hide core bugs in the allocator or stuff like that.
> 
> You're completely wrong here.

I don't think so.

Andrea

  reply	other threads:[~2001-05-26  1:50 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-25 20:00 [with-PATCH-really] highmem deadlock removal, balancing & cleanup Rik van Riel
2001-05-25 21:12 ` Linus Torvalds
2001-05-25 22:20   ` Rik van Riel
2001-05-25 23:05     ` Linus Torvalds
2001-05-25 23:13     ` Alan Cox
2001-05-25 23:19       ` Rik van Riel
2001-05-26  0:02       ` Linus Torvalds
2001-05-26  0:07         ` Rik van Riel
2001-05-26  0:16           ` Linus Torvalds
2001-05-26  0:23           ` Linus Torvalds
2001-05-26  0:26             ` Rik van Riel
2001-05-26  0:30               ` Linus Torvalds
2001-05-26  0:29         ` Ben LaHaise
2001-05-26  0:34           ` Linus Torvalds
2001-05-26  0:38             ` Rik van Riel
2001-05-26  1:28             ` Linux-2.4.5 Linus Torvalds
2001-05-26  1:35               ` Linux-2.4.5 Rik van Riel
2001-05-26  1:39               ` Linux-2.4.5 Ben LaHaise
2001-05-26  1:59                 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26  2:11                   ` Linux-2.4.5 Ben LaHaise
2001-05-26  2:38                     ` Linux-2.4.5 Andrea Arcangeli
2001-05-26  2:49                       ` Linux-2.4.5 Ben LaHaise
2001-05-26  3:11                         ` Linux-2.4.5 Andrea Arcangeli
2001-05-26  4:22                           ` Linux-2.4.5 Linus Torvalds
2001-05-26  4:31                             ` Linux-2.4.5 Rik van Riel
2001-05-26  8:10                               ` Linux-2.4.5 Linus Torvalds
2001-05-26  9:01                                 ` Linux-2.4.5 Linus Torvalds
2001-05-26  9:18                             ` Linux-2.4.5 arjan
2001-05-26 14:18                             ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 14:21                               ` Linux-2.4.5 Rik van Riel
2001-05-26 14:38                                 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 14:40                                   ` Linux-2.4.5 Rik van Riel
2001-05-26 15:17                                     ` Linux-2.4.5 Linus Torvalds
2001-05-26 15:28                                       ` Linux-2.4.5 Rik van Riel
2001-05-26 15:59                                         ` Linux-2.4.5 Linus Torvalds
2001-05-26 22:12                                           ` Linux-2.4.5 Marcelo Tosatti
2001-05-27  6:53                                             ` Linux-2.4.5 Marcelo Tosatti
2001-06-03 23:32                                               ` Linux-2.4.5 Linus Torvalds
2001-06-05  2:21                                                 ` Linux-2.4.5 Marcelo Tosatti
2001-05-26 15:09                                 ` Linux-2.4.5 Linus Torvalds
2001-05-26 15:18                                   ` Linux-2.4.5 Rik van Riel
2001-05-26 15:24                                     ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 15:26                                       ` Linux-2.4.5 Rik van Riel
2001-05-26 15:40                                         ` Linux-2.4.5 Andrea Arcangeli
2001-05-26  4:45                           ` Linux-2.4.5 Rik van Riel
2001-05-26  4:47                             ` Linux-2.4.5 Rik van Riel
2001-05-26  6:07                               ` Linux-2.4.5 Ben LaHaise
2001-05-26 14:32                             ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 14:36                               ` Linux-2.4.5 Rik van Riel
2001-05-26 15:03                                 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 15:08                                   ` Linux-2.4.5 Rik van Riel
2001-05-26 15:20                                     ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 15:41                     ` Linux-2.4.5 Rik van Riel
2001-05-26  0:42           ` [with-PATCH-really] highmem deadlock removal, balancing & cleanup Andrea Arcangeli
2001-05-26  0:52             ` Ben LaHaise
2001-05-26  1:27               ` Andrea Arcangeli
2001-05-26  1:38                 ` Ben LaHaise
2001-05-26  1:49                   ` Andrea Arcangeli [this message]
2001-05-26  2:01                     ` Ben LaHaise
2001-05-26  2:26                       ` Andrea Arcangeli
2001-05-26  2:40                         ` Ben LaHaise
2001-05-26  1:43             ` Rik van Riel
2001-05-25 22:35   ` Rik van Riel
2001-05-25 23:07     ` Linus Torvalds

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=20010526034922.O9634@athlon.random \
    --to=andrea@suse.de \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bcrl@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riel@conectiva.com.br \
    --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