linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: Daniel Phillips <daniel.raymond.phillips@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Matt Mackall <mpm@selenic.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	David Miller <davem@davemloft.net>,
	Pekka Enberg <penberg@cs.helsinki.fi>
Subject: Re: [PATCH 04/10] mm: slub: add knowledge of reserve pages
Date: Thu, 9 Aug 2007 19:01:41 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0708091857230.3368@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <4a5909270708091854n7c84ae9aj84170092a5eb61db@mail.gmail.com>

On Thu, 9 Aug 2007, Daniel Phillips wrote:

> No matter how you look at this problem, you still need to have _some_
> sort of reserve, and limit access to it.  We extend existing methods,

The reserve is in the memory in the zone and reclaim can guarantee that 
there are a sufficient number of easily reclaimable pages in it.

> you are proposing to what seems like an entirely new reserve

The reserve always has been managed by per zone counters. Nothing new 
there.

> management system.  Great idea, maybe, but it does not solve the
> deadlocks.  You still need some organized way of being sure that your
> reserve is as big as you need (hopefully not an awful lot bigger) and
> you still have to make sure that nobody dips into that reserve further
> than they are allowed to.

Nope there is no need to have additional reserves. You delay the writeout 
until you are finished with reclaim. Then you do the writeout. During 
writeout reclaim may be called as needed. After the writeout is complete 
then you recheck the vm counters again to be sure that dirty ratio / 
easily reclaimable ratio and mem low / high boundaries are still okay. If not go 
back to reclaim.

> So translation: reclaim from "easily freeable" lists is an
> optimization, maybe a great one.  Probably great.  Reclaim from atomic
> context is also a great idea, probably. But you are talking about a
> whole nuther patch set.  Neither of those are in themselves a fix for
> these deadlocks.

Yes they are a much better fix and may allow code cleanup by getting rid 
of checks for PF_MEMALLOC. They integrate in a straightforward way 
into the existing reclaim methods.

--
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:[~2007-08-10  2:01 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-06 10:29 [PATCH 00/10] foundations for reserve-based allocation Peter Zijlstra
2007-08-06 10:29 ` [PATCH 01/10] mm: gfp_to_alloc_flags() Peter Zijlstra
2007-08-06 10:29 ` [PATCH 02/10] mm: system wide ALLOC_NO_WATERMARK Peter Zijlstra
2007-08-06 18:11   ` Christoph Lameter
2007-08-06 18:21     ` Daniel Phillips
2007-08-06 18:31       ` Peter Zijlstra
2007-08-06 18:43         ` Daniel Phillips
2007-08-06 19:11         ` Christoph Lameter
2007-08-06 19:31           ` Peter Zijlstra
2007-08-06 20:12             ` Christoph Lameter
2007-08-06 18:42       ` Christoph Lameter
2007-08-06 18:48         ` Daniel Phillips
2007-08-06 18:51           ` Christoph Lameter
2007-08-06 19:15             ` Daniel Phillips
2007-08-06 20:12             ` Matt Mackall
2007-08-06 20:19               ` Christoph Lameter
2007-08-06 20:26                 ` Peter Zijlstra
2007-08-06 21:05                   ` Christoph Lameter
2007-08-06 22:59                     ` Daniel Phillips
2007-08-06 23:14                       ` Christoph Lameter
2007-08-06 23:49                         ` Daniel Phillips
2007-08-07 22:18                           ` Christoph Lameter
2007-08-08  7:24                             ` Peter Zijlstra
2007-08-08 18:06                               ` Christoph Lameter
2007-08-08  7:37                             ` Daniel Phillips
2007-08-08 18:09                               ` Christoph Lameter
2007-08-09 18:41                                 ` Daniel Phillips
2007-08-09 18:49                                   ` Christoph Lameter
2007-08-10  0:17                                     ` Daniel Phillips
2007-08-10  1:48                                       ` Christoph Lameter
2007-08-10  3:34                                         ` Daniel Phillips
2007-08-10  3:48                                           ` Christoph Lameter
2007-08-10  8:15                                             ` Daniel Phillips
2007-08-10 17:46                                               ` Christoph Lameter
2007-08-10 23:25                                                 ` Daniel Phillips
2007-08-13  6:55                                                 ` Daniel Phillips
2007-08-13 23:04                                                   ` Christoph Lameter
2007-08-06 20:27                 ` Andrew Morton
2007-08-06 23:16                   ` Daniel Phillips
2007-08-06 22:47                 ` Daniel Phillips
2007-08-06 10:29 ` [PATCH 03/10] mm: tag reseve pages Peter Zijlstra
2007-08-06 18:11   ` Christoph Lameter
2007-08-06 18:13     ` Daniel Phillips
2007-08-06 18:28     ` Peter Zijlstra
2007-08-06 19:34     ` Andi Kleen
2007-08-06 18:43       ` Christoph Lameter
2007-08-06 18:47         ` Peter Zijlstra
2007-08-06 18:59           ` Andi Kleen
2007-08-06 19:09             ` Christoph Lameter
2007-08-06 19:10             ` Andrew Morton
2007-08-06 19:16               ` Christoph Lameter
2007-08-06 19:38               ` Matt Mackall
2007-08-06 20:18               ` Andi Kleen
2007-08-06 10:29 ` [PATCH 04/10] mm: slub: add knowledge of reserve pages Peter Zijlstra
2007-08-08  0:13   ` Christoph Lameter
2007-08-08  1:44     ` Matt Mackall
2007-08-08 17:13       ` Christoph Lameter
2007-08-08 17:39         ` Andrew Morton
2007-08-08 17:57           ` Christoph Lameter
2007-08-08 18:46             ` Andrew Morton
2007-08-10  1:54               ` Daniel Phillips
2007-08-10  2:01                 ` Christoph Lameter [this message]
2007-08-20  7:38   ` Peter Zijlstra
2007-08-20  7:43     ` Peter Zijlstra
2007-08-20  9:12     ` Pekka J Enberg
2007-08-20  9:17       ` Peter Zijlstra
2007-08-20  9:28         ` Pekka Enberg
2007-08-20 19:26           ` Christoph Lameter
2007-08-20 20:08             ` Peter Zijlstra
2007-08-06 10:29 ` [PATCH 05/10] mm: allow mempool to fall back to memalloc reserves Peter Zijlstra
2007-08-06 10:29 ` [PATCH 06/10] mm: kmem_estimate_pages() Peter Zijlstra
2007-08-06 10:29 ` [PATCH 07/10] mm: allow PF_MEMALLOC from softirq context Peter Zijlstra
2007-08-06 10:29 ` [PATCH 08/10] mm: serialize access to min_free_kbytes Peter Zijlstra
2007-08-06 10:29 ` [PATCH 09/10] mm: emergency pool Peter Zijlstra
2007-08-06 10:29 ` [PATCH 10/10] mm: __GFP_MEMALLOC Peter Zijlstra
2007-08-06 17:35 ` [PATCH 00/10] foundations for reserve-based allocation Daniel Phillips
2007-08-06 18:17   ` Peter Zijlstra
2007-08-06 18:40     ` Daniel Phillips
2007-08-06 19:31     ` Daniel Phillips
2007-08-06 19:36       ` Peter Zijlstra
2007-08-06 19:53         ` Daniel Phillips
2007-08-06 17:56 ` Christoph Lameter
2007-08-06 18:33   ` Peter Zijlstra
2007-08-06 20:23 ` Matt Mackall
2007-08-07  0:09   ` Daniel Phillips

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=Pine.LNX.4.64.0708091857230.3368@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=daniel.raymond.phillips@gmail.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mpm@selenic.com \
    --cc=penberg@cs.helsinki.fi \
    /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