linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* CONFIG_NONLINEAR for small systems
@ 2004-10-18 14:24 Andy Whitcroft
  2004-10-18 14:32 ` 050 bootmem use NODE_DATA Andy Whitcroft
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Andy Whitcroft @ 2004-10-18 14:24 UTC (permalink / raw)
  To: lhms-devel, linux-mm; +Cc: Andy Whitcroft

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>

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2004-10-28 11:07 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-18 14:24 CONFIG_NONLINEAR for small systems Andy Whitcroft
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox