public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/8] Reduce MAX_NR_ZONES and remove useless zones.
@ 2006-07-03 21:55 Christoph Lameter
  2006-07-03 21:55 ` [RFC 1/8] Rework mmzone.h: Make DMA32 and HIGHMEM optional Christoph Lameter
                   ` (8 more replies)
  0 siblings, 9 replies; 32+ messages in thread
From: Christoph Lameter @ 2006-07-03 21:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: akpm, Hugh Dickins, Con Kolivas, Marcelo Tosatti, Nick Piggin,
	Christoph Lameter, Andi Kleen

I keep seeing zones on various platforms that are never used and wonder
why we compile support for them into the kernel.

IA64 on SGI for example only uses ZONE_DMA other IA64 platforms can
also use ZONE_NORMAL. So we have 50% useless zones. Large amounts
of memory go to waste with systems with a few hundred nodes and a few
hundred processors.

My x86_64 system seems to only use ZONE_DMA and ZONE_DMA32. I never see pages
in ZONE_NORMAL (probably because I have less than 4G memory).

And ZONE_HIGHMEM on a 64 bit system? We can address all memory. I keep
seeing all the highmem counters as zero on ia64 and x86_64 and even on
i386 systems.

Then it seems that ZONE_DMA32 is only used on x86_64 but we compile it into
the kernel for all platforms.

This patch makes ZONE_DMA32 and ZONE_HIGHMEM support optional. MAX_NR_ZONES
will be 2 for most non i386 platforms and even for i386 without CONFIG_HIGHMEM
set.

I tested this on IA64 and x86_64. Compiles fine on i386 with and without
CONFIG_HIGHMEM set.

The patchset consists of 8 patches that are following this message.

One could go even further than this patchset and also make ZONE_DMA optional
because some platforms do not need a separate DMA zone and can do DMA to all
of memory. This could reduce MAX_NR_ZONES to 1.


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

end of thread, other threads:[~2006-07-05  0:25 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-03 21:55 [RFC 0/8] Reduce MAX_NR_ZONES and remove useless zones Christoph Lameter
2006-07-03 21:55 ` [RFC 1/8] Rework mmzone.h: Make DMA32 and HIGHMEM optional Christoph Lameter
2006-07-03 22:28   ` Andi Kleen
2006-07-03 21:55 ` [RFC 2/8] Make display of highmem counters conditional on CONFIG_HIGHMEM Christoph Lameter
2006-07-03 21:55 ` [RFC 3/8] Move HIGHMEM counter into highmem.c/.h Christoph Lameter
2006-07-04  5:47   ` KAMEZAWA Hiroyuki
2006-07-04  5:56     ` Christoph Lameter
2006-07-04  6:20       ` Andrew Morton
2006-07-04 15:20         ` Christoph Lameter
2006-07-04 16:50           ` Nick Piggin
2006-07-05  0:17             ` KAMEZAWA Hiroyuki
2006-07-03 21:55 ` [RFC 4/8] Remove display of counters for not available zones Christoph Lameter
2006-07-03 21:56 ` [RFC 5/8] swap_prefetch: Make use of ZONE_HIGHMEM dependend on CONFIG_HIGHMEM Christoph Lameter
2006-07-03 21:56 ` [RFC 6/8] Fix MAX_NR_ZONES array initializations in various arches Christoph Lameter
2006-07-03 21:56 ` [RFC 7/8] Fix strange uses of MAX_NR_ZONES Christoph Lameter
2006-07-03 21:56 ` [RFC 8/8] Fix i386 SRAT check for MAX_NR_ZONES Christoph Lameter
2006-07-04  5:52   ` KAMEZAWA Hiroyuki
2006-07-04  5:53     ` Christoph Lameter
2006-07-03 22:17 ` [RFC 0/8] Reduce MAX_NR_ZONES and remove useless zones Christoph Hellwig
2006-07-03 23:26   ` Christoph Lameter
2006-07-03 23:47     ` Andi Kleen
2006-07-03 23:53       ` Christoph Lameter
2006-07-04 12:04       ` Christoph Hellwig
2006-07-04 12:02     ` Christoph Hellwig
2006-07-04 15:10       ` Christoph Lameter
2006-07-04 15:23         ` Andi Kleen
2006-07-04 16:16           ` Christoph Lameter
2006-07-04 16:23             ` Arjan van de Ven
2006-07-04 16:41               ` Christoph Lameter
2006-07-04 16:47                 ` Arjan van de Ven
2006-07-04 16:52                 ` Andi Kleen
2006-07-04 16:25             ` Andi Kleen

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