mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 00/11] Reduce MAX_NR_ZONES V1
@ 2006-07-07 23:18 Christoph Lameter
  2006-07-07 23:18 ` [PATCH 01/11] swap_prefetch: Remove incorrect use of ZONE_HIGHMEM Christoph Lameter
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Christoph Lameter @ 2006-07-07 23:18 UTC (permalink / raw)
  To: linux-kernel
  Cc: akpm, Hugh Dickins, Christoph Hellwig, Con Kolivas,
	Marcelo Tosatti, Arjan van de Ven, Nick Piggin,
	Christoph Lameter, KAMEZAWA Hiroyuki, Andi Kleen

I keep seeing zones on various platforms that are never used and wonder
why we compile support for them into the kernel. Counters show up for HIGHMEM
and DMA32 that are alway zero.

This patch allows the removal of ZONE_DMA32 for non x86_64 architectures
and it will get rid of ZONE_HIGHMEM for arches not using highmem
(like 64 bit architectures). If an arch does not define CONFIG_HIGHMEM
then ZONE_HIGHMEM will not be defined. Similarly if an arch does not
define CONFIG_ZONE_DMA32 then ZONE_DMA32 will not be defined.

No current architecture uses all the 4 zones (DMA,DMA32,NORMAL,HIGH) that we
have now. The patchset will reduce the number of zones for all platforms.

On many platforms that do not have DMA32 or HIGHMEM this will reduce the number
of zones by 50%. F.e. ia64 only uses DMA and NORMAL.

Large amounts of memory can be saved for larger systemss that may have a
few hundred NUMA nodes.

With ZONE_DMA32 and ZONE_HIGHMEM support optional MAX_NR_ZONES will be 2 for
many non i386 platforms and even for i386 without CONFIG_HIGHMEM set.

Tested on ia64, x86_64 and on i386 with and without highmem.

The patchset consists of 11 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. Such a patchset will hopefully follow
soon.

RFC->V1
- Macro cleanup
- Code cleanup
- Modify GFP_ZONETYPES according to the number of zones.
- Fix up i386 NUMA SRAT compile
- Get rid of CONFIG_DMA_IS_DMA32 etc.
- Resequence the patch so that the cleanup patches are first.
- Remove invalid refernce to HIGHMEM in swap prefetch
- Test and debug on i386


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

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

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-07-07 23:18 [PATCH 00/11] Reduce MAX_NR_ZONES V1 Christoph Lameter
2006-07-07 23:18 ` [PATCH 01/11] swap_prefetch: Remove incorrect use of ZONE_HIGHMEM Christoph Lameter
2006-07-07 23:18 ` [PATCH 02/11] Remove two strange uses of MAX_NR_ZONES Christoph Lameter
2006-07-07 23:18 ` [PATCH 03/11] Fix MAX_NR_ZONES array initializations Christoph Lameter
2006-07-07 23:18 ` [PATCH 04/11] Make display of highmem counters conditional on CONFIG_HIGHMEM Christoph Lameter
2006-07-07 23:18 ` [PATCH 05/11] Move HIGHMEM counters into highmem.c/.h Christoph Lameter
2006-07-07 23:18 ` [PATCH 06/11] Page allocator ZONE_HIGHMEM cleanup Christoph Lameter
2006-07-07 23:18 ` [PATCH 07/11] Use enum to define zones, reformat and comment Christoph Lameter
2006-07-08  0:56   ` Andrew Morton
2006-07-07 23:18 ` [PATCH 08/11] Make ZONE_DMA32 optional Christoph Lameter
2006-07-07 23:18 ` [PATCH 09/11] Make ZONE_HIGHMEM optional Christoph Lameter
2006-07-07 23:19 ` [PATCH 10/11] Remove display of counters for unconfigured zones Christoph Lameter
2006-07-07 23:19 ` [PATCH 11/11] Fix i386 SRAT check for MAX_NR_ZONES Christoph Lameter

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

Powered by JetHome