aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorBron Gondwana <brong@fastmail.fm>2008-02-05 01:29:20 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-05 12:44:18 -0500
commit195cf453d2c3d789cbe80e3735755f860c2fb222 (patch)
treefad48a8167744b6c091c8ca499bc78b859af8957 /Documentation
parent3dfa5721f12c3d5a441448086bee156887daa961 (diff)
mm/page-writeback: highmem_is_dirtyable option
Add vm.highmem_is_dirtyable toggle A 32 bit machine with HIGHMEM64 enabled running DCC has an MMAPed file of approximately 2Gb size which contains a hash format that is written randomly by the dbclean process. On 2.6.16 this process took a few minutes. With lowmem only accounting of dirty ratios, this takes about 12 hours of 100% disk IO, all random writes. Include a toggle in /proc/sys/vm/highmem_is_dirtyable which can be set to 1 to add the highmem back to the total available memory count. [akpm@linux-foundation.org: Fix the CONFIG_DETECT_SOFTLOCKUP=y build] Signed-off-by: Bron Gondwana <brong@fastmail.fm> Cc: Ethan Solomita <solo@google.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: WU Fengguang <wfg@mail.ustc.edu.cn> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/filesystems/proc.txt15
-rw-r--r--Documentation/sysctl/vm.txt7
2 files changed, 19 insertions, 3 deletions
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index 0b1b0c008613..07231afca72d 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -1315,6 +1315,21 @@ for writeout by the pdflush daemons. It is expressed in 100'ths of a second.
1315Data which has been dirty in-memory for longer than this interval will be 1315Data which has been dirty in-memory for longer than this interval will be
1316written out next time a pdflush daemon wakes up. 1316written out next time a pdflush daemon wakes up.
1317 1317
1318highmem_is_dirtyable
1319--------------------
1320
1321Only present if CONFIG_HIGHMEM is set.
1322
1323This defaults to 0 (false), meaning that the ratios set above are calculated
1324as a percentage of lowmem only. This protects against excessive scanning
1325in page reclaim, swapping and general VM distress.
1326
1327Setting this to 1 can be useful on 32 bit machines where you want to make
1328random changes within an MMAPed file that is larger than your available
1329lowmem without causing large quantities of random IO. Is is safe if the
1330behavior of all programs running on the machine is known and memory will
1331not be otherwise stressed.
1332
1318legacy_va_layout 1333legacy_va_layout
1319---------------- 1334----------------
1320 1335
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index 6f31f0a247d0..24eac1bc735d 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -22,6 +22,7 @@ Currently, these files are in /proc/sys/vm:
22- dirty_background_ratio 22- dirty_background_ratio
23- dirty_expire_centisecs 23- dirty_expire_centisecs
24- dirty_writeback_centisecs 24- dirty_writeback_centisecs
25- highmem_is_dirtyable (only if CONFIG_HIGHMEM set)
25- max_map_count 26- max_map_count
26- min_free_kbytes 27- min_free_kbytes
27- laptop_mode 28- laptop_mode
@@ -40,9 +41,9 @@ Currently, these files are in /proc/sys/vm:
40============================================================== 41==============================================================
41 42
42dirty_ratio, dirty_background_ratio, dirty_expire_centisecs, 43dirty_ratio, dirty_background_ratio, dirty_expire_centisecs,
43dirty_writeback_centisecs, vfs_cache_pressure, laptop_mode, 44dirty_writeback_centisecs, highmem_is_dirtyable,
44block_dump, swap_token_timeout, drop-caches, 45vfs_cache_pressure, laptop_mode, block_dump, swap_token_timeout,
45hugepages_treat_as_movable: 46drop-caches, hugepages_treat_as_movable:
46 47
47See Documentation/filesystems/proc.txt 48See Documentation/filesystems/proc.txt
48 49