Merge branch 'for-4.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue fixes from Tejun Heo: "Workqueue fixes for v4.5-rc3. - Remove a spurious triggering of flush dependency warning. - Officially break local execution guarantee of unbound work items and add a debug feature to flush out usages which depend on it. - Work around CPU -> NODE mapping becoming invalid on CPU offline. The branch is young but pushing out early as stable kernels are being affected" * 'for-4.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: handle NUMA_NO_NODE for unbound pool_workqueue lookup workqueue: implement "workqueue.debug_force_rr_cpu" debug feature workqueue: schedule WORK_CPU_UNBOUND work on wq_unbound_cpumask CPUs Revert "workqueue: make sure delayed work run in local cpu" workqueue: skip flush dependency checks for legacy workqueues
This commit is contained in:
commit
9aece75c13
4 changed files with 98 additions and 11 deletions
|
@ -1400,6 +1400,21 @@ config RCU_EQS_DEBUG
|
|||
|
||||
endmenu # "RCU Debugging"
|
||||
|
||||
config DEBUG_WQ_FORCE_RR_CPU
|
||||
bool "Force round-robin CPU selection for unbound work items"
|
||||
depends on DEBUG_KERNEL
|
||||
default n
|
||||
help
|
||||
Workqueue used to implicitly guarantee that work items queued
|
||||
without explicit CPU specified are put on the local CPU. This
|
||||
guarantee is no longer true and while local CPU is still
|
||||
preferred work items may be put on foreign CPUs. Kernel
|
||||
parameter "workqueue.debug_force_rr_cpu" is added to force
|
||||
round-robin CPU selection to flush out usages which depend on the
|
||||
now broken guarantee. This config option enables the debug
|
||||
feature by default. When enabled, memory and cache locality will
|
||||
be impacted.
|
||||
|
||||
config DEBUG_BLOCK_EXT_DEVT
|
||||
bool "Force extended block device numbers and spread them"
|
||||
depends on DEBUG_KERNEL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue