You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Create a dynamically sized pool of threads for doing very slow work items
Create a dynamically sized pool of threads for doing very slow work items, such as invoking mkdir() or rmdir() - things that may take a long time and may sleep, holding mutexes/semaphores and hogging a thread, and are thus unsuitable for workqueues. The number of threads is always at least a settable minimum, but more are started when there's more work to do, up to a limit. Because of the nature of the load, it's not suitable for a 1-thread-per-CPU type pool. A system with one CPU may well want several threads. This is used by FS-Cache to do slow caching operations in the background, such as looking up, creating or deleting cache objects. 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>
This commit is contained in:
@@ -1014,6 +1014,18 @@ config MARKERS
|
||||
|
||||
source "arch/Kconfig"
|
||||
|
||||
config SLOW_WORK
|
||||
default n
|
||||
bool "Enable slow work thread pool"
|
||||
help
|
||||
The slow work thread pool provides a number of dynamically allocated
|
||||
threads that can be used by the kernel to perform operations that
|
||||
take a relatively long time.
|
||||
|
||||
An example of this would be CacheFiles doing a path lookup followed
|
||||
by a series of mkdirs and a create call, all of which have to touch
|
||||
disk.
|
||||
|
||||
endmenu # General setup
|
||||
|
||||
config HAVE_GENERIC_DMA_COHERENT
|
||||
|
||||
Reference in New Issue
Block a user