David Howells
12e22c5e4b
Make the slow work pool configurable
...
Make the slow work pool configurable through /proc/sys/kernel/slow-work.
(*) /proc/sys/kernel/slow-work/min-threads
The minimum number of threads that should be in the pool as long as it is
in use. This may be anywhere between 2 and max-threads.
(*) /proc/sys/kernel/slow-work/max-threads
The maximum number of threads that should in the pool. This may be
anywhere between min-threads and 255 or NR_CPUS * 2, whichever is greater.
(*) /proc/sys/kernel/slow-work/vslow-percentage
The percentage of active threads in the pool that may be used to execute
very slow work items. This may be between 1 and 99. The resultant number
is bounded to between 1 and one fewer than the number of active threads.
This ensures there is always at least one thread that can process very
slow work items, and always at least one thread that won't.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Acked-by: Steve Dickson <steved@redhat.com>
Acked-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Tested-by: Daire Byrne <Daire.Byrne@framestore.com>
2009-04-03 16:42:35 +01:00
..
irq
PM: Introduce functions for suspending and resuming device interrupts
2009-03-30 21:46:54 +02:00
power
pm: rework includes, remove arch ifdefs
2009-04-01 08:59:16 -07:00
time
Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-03-26 16:05:42 -07:00
trace
Merge commit 'origin/master' into next
2009-03-11 17:10:07 +11:00
.gitignore
acct.c
[CVE-2009-0029] System call wrappers part 04
2009-01-14 14:15:19 +01:00
async.c
async: remove the temporary (2.6.29) "async is off by default" code
2009-03-28 13:05:30 -07:00
audit.c
[PATCH] fix broken timestamps in AVC generated by kernel threads
2008-12-09 02:27:41 -05:00
audit.h
fixing audit rule ordering mess, part 1
2009-01-04 15:14:41 -05:00
audit_tree.c
audit: validate comparison operations, store them in sane form
2009-01-04 15:14:42 -05:00
auditfilter.c
audit: validate comparison operations, store them in sane form
2009-01-04 15:14:42 -05:00
auditsc.c
Get rid of indirect include of fs_struct.h
2009-03-31 23:00:27 -04:00
backtracetest.c
bounds.c
capability.c
[CVE-2009-0029] System call wrappers part 04
2009-01-14 14:15:19 +01:00
cgroup.c
memcg: fix OOM killer under memcg
2009-04-02 19:04:55 -07:00
cgroup_debug.c
debug cgroup: remove unneeded cgroup_lock
2009-04-02 19:04:54 -07:00
cgroup_freezer.c
compat.c
Allow times and time system calls to return small negative values
2009-01-06 15:59:13 -08:00
configs.c
cpu.c
cpumask: use set_cpu_active in init/main.c
2009-03-30 22:05:12 +10:30
cpuset.c
cpusets: prevent PF_THREAD_BOUND tasks from attaching to non-root cpusets
2009-04-02 19:04:57 -07:00
cred-internals.h
cred.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
2009-01-09 13:59:25 -08:00
delayacct.c
schedstat: consolidate per-task cpu runtime stats
2008-12-18 13:54:01 +01:00
dma-coherent.c
dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy.
2009-01-21 18:51:53 +09:00
dma.c
exec_domain.c
Get rid of indirect include of fs_struct.h
2009-03-31 23:00:27 -04:00
exit.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
2009-04-02 21:09:10 -07:00
extable.c
Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-12-30 16:10:19 -08:00
fork.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
2009-04-02 21:09:10 -07:00
freezer.c
futex.c
futex: remove the pointer math from double_unlock_hb, fix
2009-03-13 10:32:07 +01:00
futex_compat.c
hrtimer.c
hrtimer: prevent negative expiry value after clock_was_set()
2009-01-30 22:35:34 +01:00
itimer.c
timers: split process wide cpu clocks/timers
2009-02-05 13:04:33 +01:00
kallsyms.c
Revert "kbuild: strip generated symbols from *.ko"
2009-01-14 21:38:20 +01:00
Kconfig.freezer
Kconfig.hz
Kconfig.preempt
rcu: provide RCU options on non-preempt architectures too
2008-12-25 09:31:28 +01:00
kexec.c
kexec: vmcoreinfo_data[] can become static
2009-04-02 19:05:04 -07:00
kfifo.c
kgdb.c
kmod.c
cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL
2009-03-30 22:05:11 +10:30
kprobes.c
kprobes: check CONFIG_FREEZER instead of CONFIG_PM
2009-01-16 14:32:17 -05:00
ksysfs.c
kernel/ksysfs.c:fix dependence on CONFIG_NET
2009-01-06 10:44:31 -08:00
kthread.c
cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL
2009-03-30 22:05:11 +10:30
latencytop.c
sched, latencytop: incorporate review feedback from Andrew Morton
2009-02-11 10:18:04 +01:00
lockdep.c
lockdep: fix deadlock in lockdep_trace_alloc
2009-03-30 23:19:24 +02:00
lockdep_internals.h
lockdep: get_user_chars() redo
2009-02-14 23:28:22 +01:00
lockdep_proc.c
lockstat: warn about disabled lock debugging
2009-02-14 23:28:28 +01:00
lockdep_states.h
lockdep: move state bit definitions around
2009-02-14 23:27:59 +01:00
Makefile
Create a dynamically sized pool of threads for doing very slow work items
2009-04-03 16:42:35 +01:00
marker.c
module.c
Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2
2009-03-27 17:28:43 +01:00
mutex-debug.c
mutex: implement adaptive spinning
2009-01-14 18:09:02 +01:00
mutex-debug.h
mutex: implement adaptive spinning
2009-01-14 18:09:02 +01:00
mutex.c
mutex: adaptive spinnning, performance tweaks
2009-01-14 19:03:54 +01:00
mutex.h
mutex: implement adaptive spinning
2009-01-14 18:09:02 +01:00
notifier.c
Merge commit 'v2.6.28-rc6' into core/debug
2008-11-26 08:22:50 +01:00
ns_cgroup.c
cgroups: relax ns_can_attach checks to allow attaching to grandchild cgroups
2009-04-02 19:04:53 -07:00
nsproxy.c
User namespaces: set of cleanups (v2)
2008-11-24 18:57:41 -05:00
panic.c
stackprotector: update make rules
2009-02-10 00:41:54 +01:00
params.c
pid.c
pids: refactor vnr/nr_ns helpers to make them safe
2009-04-02 19:05:02 -07:00
pid_namespace.c
signals: zap_pid_ns_process() should use force_sig()
2009-04-02 19:04:58 -07:00
pm_qos_params.c
posix-cpu-timers.c
posix timers: fix RLIMIT_CPU && fork()
2009-03-23 20:43:35 +01:00
posix-timers.c
[CVE-2009-0029] System call wrappers part 05
2009-01-14 14:15:20 +01:00
printk.c
kexec: add dmesg log symbols to /proc/vmcoreinfo lists
2009-04-02 19:05:04 -07:00
profile.c
profiling: fix broken profiling regression
2009-02-10 00:50:37 +01:00
ptrace.c
ptrace_untrace: fix the SIGNAL_STOP_STOPPED check
2009-04-02 19:05:00 -07:00
rcuclassic.c
rcu: Teach RCU that idle task is not quiscent state at boot
2009-02-26 04:08:14 +01:00
rcupdate.c
rcu: Teach RCU that idle task is not quiscent state at boot
2009-02-26 04:08:14 +01:00
rcupreempt.c
rcu: Teach RCU that idle task is not quiscent state at boot
2009-02-26 04:08:14 +01:00
rcupreempt_trace.c
"Tree RCU": scalable classic RCU implementation
2008-12-18 21:56:04 +01:00
rcutorture.c
cpumask: convert rcutorture.c
2009-03-30 22:05:16 +10:30
rcutree.c
rcu: Teach RCU that idle task is not quiscent state at boot
2009-02-26 04:08:14 +01:00
rcutree_trace.c
"Tree RCU": scalable classic RCU implementation
2008-12-18 21:56:04 +01:00
relay.c
relay: fix for possible loss/corruption of produced subbufs
2009-04-02 19:05:05 -07:00
res_counter.c
memcg: memory cgroup resource counters for hierarchy
2009-01-08 08:31:05 -08:00
resource.c
resources: fix parameter name and kernel-doc
2009-01-15 16:39:38 -08:00
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c
epoll keyed wakeups: add __wake_up_locked_key() and __wake_up_sync_key()
2009-04-01 08:59:20 -07:00
sched_clock.c
sched_clock: cleanups
2009-02-26 21:56:07 +01:00
sched_cpupri.c
sched: fix section mismatch
2009-01-06 11:07:15 +01:00
sched_cpupri.h
cpumask: remove cpumask_t from core
2009-03-30 22:05:17 +10:30
sched_debug.c
sched: remove unused fields from struct rq
2009-03-24 23:16:51 +01:00
sched_fair.c
Merge branch 'sched/urgent'; commit 'v2.6.29-rc5' into sched/core
2009-02-15 21:15:16 +01:00
sched_features.h
Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-03-30 17:17:35 -07:00
sched_idletask.c
sched_rt.c
Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2
2009-03-27 17:28:43 +01:00
sched_stats.h
sched: remove unused fields from struct rq
2009-03-24 23:16:51 +01:00
seccomp.c
x86-64: seccomp: fix 32/64 syscall hole
2009-03-02 15:41:30 -08:00
semaphore.c
signal.c
signals: SI_USER: Masquerade si_pid when crossing pid ns boundary
2009-04-02 19:04:58 -07:00
slow-work.c
Make the slow work pool configurable
2009-04-03 16:42:35 +01:00
smp.c
generic-ipi: use per cpu data for single cpu ipi calls
2009-01-30 18:31:08 +01:00
softirq.c
Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2
2009-03-27 17:28:43 +01:00
softlockup.c
softlock: fix false panic which can occur if softlockup_thresh is reduced
2009-01-14 11:48:07 +01:00
spinlock.c
Allow rwlocks to re-enable interrupts
2009-04-02 19:05:11 -07:00
srcu.c
stacktrace.c
stacktrace: provide save_stack_trace_tsk() weak alias
2008-12-25 11:44:43 +01:00
stop_machine.c
cpumask: remove cpumask_t from core
2009-03-30 22:05:17 +10:30
sys.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
2009-04-02 21:09:10 -07:00
sys_ni.c
[CVE-2009-0029] Make sys_syslog a conditional system call
2009-01-14 14:15:16 +01:00
sysctl.c
Make the slow work pool configurable
2009-04-03 16:42:35 +01:00
sysctl_check.c
net: add ARP notify option for devices
2009-02-01 01:04:33 -08:00
taskstats.c
cpumask: convert rest of files in kernel/
2009-01-01 10:12:28 +10:30
test_kprobes.c
kprobes: add tests for register_kprobes
2009-01-06 15:59:20 -08:00
time.c
[CVE-2009-0029] System call wrappers part 01
2009-01-14 14:15:18 +01:00
timeconst.pl
timer.c
Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-03-30 17:17:35 -07:00
tracepoint.c
tsacct.c
Fix fixpoint divide exception in acct_update_integrals
2009-03-09 08:13:35 -07:00
uid16.c
[CVE-2009-0029] System call wrappers part 19
2009-01-14 14:15:26 +01:00
up.c
smp_call_function_single(): be slightly less stupid, fix #2
2009-01-12 16:04:37 +01:00
user.c
Merge branch 'master' into next
2009-03-24 10:52:46 +11:00
user_namespace.c
Fix recursive lock in free_uid()/free_user_ns()
2009-02-27 16:26:21 -08:00
utsname.c
utsname_sysctl.c
proc_sysctl: use CONFIG_PROC_SYSCTL around ipc and utsname proc_handlers
2009-04-02 19:05:01 -07:00
wait.c
wait: prevent exclusive waiter starvation
2009-02-05 12:56:48 -08:00
workqueue.c
workqueue: avoid recursion in run_workqueue()
2009-04-02 19:05:00 -07:00