From: Christoph Lameter <clameter@sgi.com>
To: linux-mm@kvack.org
Cc: Christoph Lameter <clameter@sgi.com>
Subject: [PATCH 0/8] Optional ZONE_DMA V1
Date: Mon, 11 Sep 2006 15:30:01 -0700 (PDT) [thread overview]
Message-ID: <20060911223001.5032.24593.sendpatchset@schroedinger.engr.sgi.com> (raw)
Optional ZONE_DMA
This patch follows up on the earlier work in Andrew's tree to reduce
the number of zones. The patches allow to go to a minimum of 2 zones.
This one allows also to make ZONE_DMA optional and therefore the
number of zones can be reduced to one.
ZONE_DMA is usually used for ISA DMA devices. Typically modern hardware
does not have any of these anymore. So we frequently do not need
the zone anymore. The presence of an additional zone unnecessarily
complicates VM operations. It must be scanned and balancing logic
must operate in it etc etc. If one has a 1-1 correspondence between
zones and nodes in a NUMA system then various other optimizations
become possible.
Many systems today (especially 64 bit but also 32 bit machines with less
than 4G of memory) can therefore operate just fine with a single zone.
With a single zone various loops can be optimized away by the
compiler. Many system currently do not place anything in ZONE_DMA. On
most of my systems ZONE_DMA is completely empty. Why constantly look
at an empty zone in /proc/zoneinfo and empty slab in /proc/slabinfo?
Non i386 also frequently have no need for ZONE_DMA and zones stay
empty.
The patchset was tested on i386 (UP / SMP), x86_64 (UP, NUMA) and
ia64 (NUMA).
The RFC posted earlier (see
http://marc.theaimsgroup.com/?l=linux-kernel&m=115231723513008&w=2)
had lots of #ifdefs in them. An effort has been made to minize the number
of #ifdefs and make this as compact as possible. The job was made much easier
by the ongoing efforts of others to extract common arch specific functionality.
I have been running this for awhile now on my desktop and finally Linux is
using all my available RAM instead of leaving the 16MB in ZONE_DMA untouched:
christoph@pentium940:~$ cat /proc/zoneinfo
Node 0, zone Normal
pages free 4435
min 1448
low 1810
high 2172
active 241786
inactive 210170
scanned 0 (a: 0 i: 0)
spanned 524224
present 524224
nr_anon_pages 61680
nr_mapped 14271
nr_file_pages 390264
nr_slab_reclaimable 27564
nr_slab_unreclaimable 1793
nr_page_table_pages 449
nr_dirty 39
nr_writeback 0
nr_unstable 0
nr_bounce 0
cpu: 0 pcp: 0
count: 156
high: 186
batch: 31
cpu: 0 pcp: 1
count: 9
high: 62
batch: 15
vm stats threshold: 20
cpu: 1 pcp: 0
count: 177
high: 186
batch: 31
cpu: 1 pcp: 1
count: 12
high: 62
batch: 15
vm stats threshold: 20
all_unreclaimable: 0
prev_priority: 12
temp_priority: 12
start_pfn: 0
--
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>
next reply other threads:[~2006-09-11 22:30 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-11 22:30 Christoph Lameter [this message]
2006-09-11 22:30 ` [PATCH 1/6] Deal with cases of ZONE_DMA meaning the first zone Christoph Lameter
2006-09-11 22:30 ` [PATCH 2/6] Introduce CONFIG_ZONE_DMA Christoph Lameter
2006-09-11 22:30 ` [PATCH 3/6] Optional ZONE_DMA in the VM Christoph Lameter
2006-09-11 22:30 ` [PATCH 4/6] Optional ZONE_DMA for i386 Christoph Lameter
2006-09-11 22:30 ` [PATCH 5/6] Optional ZONE_DMA for x86_64 Christoph Lameter
2006-09-11 22:30 ` [PATCH 6/6] Optional ZONE_DMA for ia64 Christoph Lameter
[not found] <20060911222729.4849.69497.sendpatchset@schroedinger.engr.sgi.com>
[not found] ` <20060912133457.GC10689@sgi.com>
[not found] ` <Pine.LNX.4.64.0609121032310.11278@schroedinger.engr.sgi.com>
2006-09-12 17:47 ` [PATCH 0/8] Optional ZONE_DMA V1 Martin Bligh
2006-09-12 17:53 ` Christoph Lameter
[not found] ` <1158046205.2992.1.camel@laptopd505.fenrus.org>
[not found] ` <Pine.LNX.4.64.0609121024290.11188@schroedinger.engr.sgi.com>
[not found] ` <yq0d5a0fbcj.fsf@jaguar.mkp.net>
[not found] ` <Pine.LNX.4.64.0609130109030.15792@schroedinger.engr.sgi.com>
[not found] ` <4507D4EE.4060501@sgi.com>
2006-09-13 17:23 ` Christoph Lameter
2006-09-13 17:49 ` Jack Steiner
2006-09-13 18:00 ` Christoph Lameter
2006-09-14 8:52 ` Jes Sorensen
2006-09-14 16:55 ` Christoph Lameter
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=20060911223001.5032.24593.sendpatchset@schroedinger.engr.sgi.com \
--to=clameter@sgi.com \
--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