linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andy Whitcroft <apw@shadowen.org>
To: lhms-devel@lists.sourceforge.net, linux-mm@kvack.org
Cc: Andy Whitcroft <apw@shadowen.org>
Subject: CONFIG_NONLINEAR for small systems
Date: Mon, 18 Oct 2004 15:24:25 +0100	[thread overview]
Message-ID: <4173D219.3010706@shadowen.org> (raw)

Following this email will be a series of patches which provide a
sample implementation of a simplified CONFIG_NONLINEAR memory model. 
The first two cleanup general infrastructure to minimise code 
duplication.  The third introduces an allocator for the numa remap space 
on i386.  The fourth generalises the page flags code to allow the reuse 
of the NODEZONE bits.  The final three are the actual meat of the 
implementation for both i386 and ppc64.

050-bootmem-use-NODE_DATA
060-refactor-setup_memory-i386
080-alloc_remap-i386
100-cleanup-node-zone
150-nonlinear
160-nonlinear-i386
170-nonlinear-ppc64

As has been observed the CONFIG_DISCONTIGMEM implementation
is inefficient space-wise where a system has a sparse intra-node memory
configuration. For example we have systems where node 0 has a
1GB hole within it. Under CONFIG_DISCONTIGMEM this results in the
struct page's for this area being allocated from ZONE_NORMAL and
never used; this is particularly problematic on these 32bit systems
as we are already under severe pressure in this zone.

The generalised CONFIG_NONLINEAR memory model described at OLS
seemed provide more than enough decriptive power to address this
issue but provided far more functionality that was required.
Particularly it breaks the identity V=P+c to allow compression of
the kernel address space, which is not required on these smaller systems.

This patch set is implemented as a proof-of-concept to show
that a simplified CONFIG_NONLINEAR based implementation could provide
sufficient flexibility to solve the problems for these systems.

In the longer term I'd like to see a single CONFIG_NONLINEAR
implementation which allowed these various features to be stacked in
combination as required.

Thoughts?

-apw
--
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-10-18 14:24 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-18 14:24 Andy Whitcroft [this message]
2004-10-18 14:32 ` 050 bootmem use NODE_DATA Andy Whitcroft
2004-10-26 18:16   ` Dave Hansen
2004-10-18 14:33 ` 060 refactor setup_memory i386 Andy Whitcroft
2004-10-18 14:34 ` 080 alloc_remap i386 Andy Whitcroft
2004-10-18 14:35 ` 100 cleanup node zone Andy Whitcroft
2004-10-18 14:35 ` 150 nonlinear Andy Whitcroft
2004-10-26 18:36   ` Dave Hansen
2004-10-26 19:07     ` [Lhms-devel] " Mika Penttilä
2004-10-26 19:42       ` Dave Hansen
2004-10-26 20:41         ` Mika Penttilä
2004-10-26 20:55           ` Dave Hansen
2004-10-26 21:20             ` Mika Penttilä
2004-10-26 21:27               ` Dave Hansen
2004-10-26 21:38                 ` Mika Penttilä
2004-10-26 21:41                   ` Dave Hansen
2004-10-26 21:55                     ` Mika Penttilä
2004-10-26 21:53                       ` Dave Hansen
2004-10-26 22:01                         ` Mika Penttilä
2004-10-28 11:07     ` Andy Whitcroft
2004-10-18 14:36 ` 160 nonlinear i386 Andy Whitcroft
2004-10-18 14:36 ` 170 nonlinear ppc64 Andy Whitcroft
2004-10-18 15:17 ` [Lhms-devel] CONFIG_NONLINEAR for small systems Hirokazu Takahashi
2004-10-18 15:29   ` Andy Whitcroft
2004-10-19  4:30 ` Hiroyuki KAMEZAWA
2004-10-19  8:16   ` Andy Whitcroft

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=4173D219.3010706@shadowen.org \
    --to=apw@shadowen.org \
    --cc=lhms-devel@lists.sourceforge.net \
    --cc=linux-mm@kvack.org \
    /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