Peter W Morreale
fafd688e4c
mm: add /proc controls for pdflush threads
...
Add /proc entries to give the admin the ability to control the minimum and
maximum number of pdflush threads. This allows finer control of pdflush
on both large and small machines.
The rationale is simply one size does not fit all. Admins on large and/or
small systems may want to tune the min/max pdflush thread count to best
suit their needs. Right now the min/max is hardcoded to 2/8. While
probably a fair estimate for smaller machines, large machines with large
numbers of CPUs and large numbers of filesystems/block devices may benefit
from larger numbers of threads working on different block devices.
Even if the background flushing algorithm is radically changed, it is
still likely that multiple threads will be involved and admins would still
desire finer control on the min/max other than to have to recompile the
kernel.
The patch adds '/proc/sys/vm/nr_pdflush_threads_min' and
'/proc/sys/vm/nr_pdflush_threads_max' with r/w permissions.
The minimum value for nr_pdflush_threads_min is 1 and the maximum value is
the current value of nr_pdflush_threads_max. This minimum is required
since additional thread creation is performed in a pdflush thread itself.
The minimum value for nr_pdflush_threads_max is the current value of
nr_pdflush_threads_min and the maximum value can be 1000.
Documentation/sysctl/vm.txt is also updated.
[akpm@linux-foundation.org: fix comment, fix whitespace, use __read_mostly]
Signed-off-by: Peter W Morreale <pmorreale@novell.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-07 08:31:03 -07:00
..
allocpercpu.c
percpu: __percpu_depopulate_mask can take a const mask
2009-04-06 13:44:15 -07:00
backing-dev.c
block: change the request allocation/congestion logic to be sync/async based
2009-04-06 08:04:53 -07:00
bootmem.c
bootmem, x86: further fixes for arch-specific bootmem wrapping
2009-03-01 16:06:56 +09:00
bounce.c
bounce: don't rely on a zeroed bio_vec list
2008-12-29 08:29:52 +01:00
debug-pagealloc.c
generic debug pagealloc
2009-04-01 08:59:13 -07:00
dmapool.c
dmapool: enable debugging for CONFIG_SLUB_DEBUG_ON too
2008-04-28 08:58:20 -07:00
fadvise.c
[CVE-2009-0029] System call wrapper special cases
2009-01-14 14:15:18 +01:00
failslab.c
kmemtrace, mm: fix slab.h dependency problem in mm/failslab.c
2009-04-03 12:23:01 +02:00
filemap.c
Staging: pohmelfs: kconfig/makefile and vfs changes.
2009-04-03 14:53:36 -07:00
filemap_xip.c
mm: do_xip_mapping_read: fix length calculation
2009-04-02 19:04:49 -07:00
fremap.c
Do not account for the address space used by hugetlbfs using VM_ACCOUNT
2009-02-10 10:48:42 -08:00
highmem.c
mm: introduce debug_kmap_atomic
2009-04-01 08:59:14 -07:00
hugetlb.c
hugetlb: chg cannot become less than 0
2009-04-01 08:59:13 -07:00
internal.h
nommu: there is no mlock() for NOMMU, so don't provide the bits
2009-04-01 08:59:14 -07:00
Kconfig
nommu: make CONFIG_UNEVICTABLE_LRU available when CONFIG_MMU=n
2009-04-01 08:59:15 -07:00
Kconfig.debug
generic debug pagealloc: build fix
2009-04-02 19:04:48 -07:00
maccess.c
kgdb: fix optional arch functions and probe_kernel_*
2008-04-17 20:05:39 +02:00
madvise.c
[CVE-2009-0029] System call wrappers part 14
2009-01-14 14:15:24 +01:00
Makefile
generic debug pagealloc
2009-04-01 08:59:13 -07:00
memcontrol.c
memcg: cleanup cache_charge
2009-04-02 19:04:56 -07:00
memory.c
mm: page_mkwrite change prototype to match fault
2009-04-01 08:59:14 -07:00
memory_hotplug.c
mm: remove GFP_HIGHUSER_PAGECACHE
2009-01-06 15:59:01 -08:00
mempolicy.c
[CVE-2009-0029] System call wrappers part 28
2009-01-14 14:15:30 +01:00
mempool.c
spelling fixes: mm/
2007-10-20 01:27:18 +02:00
migrate.c
FS-Cache: Recruit a page flags for cache management
2009-04-03 16:42:36 +01:00
mincore.c
[CVE-2009-0029] System call wrappers part 14
2009-01-14 14:15:24 +01:00
mlock.c
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-02-17 14:27:39 -08:00
mm_init.c
mm: mminit_loglevel cannot be __meminitdata anymore
2008-08-20 15:40:30 -07:00
mmap.c
nommu: fix a number of issues with the per-MM VMA patch
2009-04-02 19:04:48 -07:00
mmu_notifier.c
mmu-notifiers: core
2008-07-28 16:30:21 -07:00
mmzone.c
mm: mark the correct zone as full when scanning zonelists
2008-09-13 14:41:52 -07:00
mprotect.c
Do not account for the address space used by hugetlbfs using VM_ACCOUNT
2009-02-10 10:48:42 -08:00
mremap.c
[CVE-2009-0029] System call wrappers part 13
2009-01-14 14:15:23 +01:00
msync.c
[CVE-2009-0029] System call wrappers part 13
2009-01-14 14:15:23 +01:00
nommu.c
nommu: fix a number of issues with the per-MM VMA patch
2009-04-02 19:04:48 -07:00
oom_kill.c
memcg: show memcg information during OOM
2009-04-02 19:04:55 -07:00
page-writeback.c
mm: fix proc_dointvec_userhz_jiffies "breakage"
2009-04-01 08:59:13 -07:00
page_alloc.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask
2009-04-05 10:33:07 -07:00
page_cgroup.c
memcg: remove redundant message at swapon
2009-04-02 19:04:56 -07:00
page_io.c
block: fix bad definition of BIO_RW_SYNC
2009-02-18 10:32:00 +01:00
page_isolation.c
memory hotplug: fix page_zone() calculation in test_pages_isolated()
2008-11-06 15:41:19 -08:00
pagewalk.c
pagemap: pass mm into pagewalkers
2008-06-12 18:05:41 -07:00
pdflush.c
mm: add /proc controls for pdflush threads
2009-04-07 08:31:03 -07:00
percpu.c
percpu: generalize embedding first chunk setup helper
2009-03-10 16:27:48 +09:00
prio_tree.c
spelling fixes: mm/
2007-10-20 01:27:18 +02:00
quicklist.c
cpumask: replace node_to_cpumask with cpumask_of_node.
2009-03-13 14:49:46 +10:30
readahead.c
FS-Cache: Recruit a page flags for cache management
2009-04-03 16:42:36 +01:00
rmap.c
mm: fix mlocked page counter mismatch
2009-02-11 14:25:35 -08:00
shmem.c
shmem: writepage directly to swap
2009-04-01 08:59:15 -07:00
shmem_acl.c
[PATCH] sanitize ->permission() prototype
2008-07-26 20:53:14 -04:00
slab.c
Merge branch 'kmemtrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-04-06 13:30:00 -07:00
slob.c
kmemtrace: trace kfree() calls with NULL or zero-length objects
2009-04-03 12:23:10 +02:00
slub.c
kmemtrace: trace kfree() calls with NULL or zero-length objects
2009-04-03 12:23:10 +02:00
sparse-vmemmap.c
vmemmap: warn about page_structs with remote distance
2008-11-06 15:41:19 -08:00
sparse.c
mm: mminit_validate_memmodel_limits(): remove redundant test
2009-04-01 08:59:11 -07:00
swap.c
FS-Cache: Recruit a page flags for cache management
2009-04-03 16:42:36 +01:00
swap_state.c
memcg: mem+swap controller core
2009-01-08 08:31:05 -08:00
swapfile.c
PM/hibernate: fix "swap breaks after hibernation failures"
2009-02-21 14:17:17 -08:00
thrash.c
truncate.c
FS-Cache: Recruit a page flags for cache management
2009-04-03 16:42:36 +01:00
util.c
kmemtrace: use tracepoints
2009-04-03 12:23:06 +02:00
vmalloc.c
vmap: remove needless lock and list in vmap
2009-04-01 08:59:11 -07:00
vmscan.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask
2009-04-05 10:33:07 -07:00
vmstat.c
mm: align vmstat_work's timer
2009-04-02 19:04:48 -07:00