Centos-kernel-stream-9/kernel
Waiman Long 20a387c381 workqueue: Add pwq->stats[] and a monitoring script
JIRA: https://issues.redhat.com/browse/RHEL-25103

commit 725e8ec59c56c65fb92e343c10a8842cd0d4f194
Author: Tejun Heo <tj@kernel.org>
Date:   Wed, 17 May 2023 17:02:08 -1000

    workqueue: Add pwq->stats[] and a monitoring script

    Currently, the only way to peer into workqueue operations is through
    tracing. While possible, it isn't easy or convenient to monitor
    per-workqueue behaviors over time this way. Let's add pwq->stats[] that
    track relevant events and a drgn monitoring script -
    tools/workqueue/wq_monitor.py.

    It's arguable whether this needs to be configurable. However, it currently
    only has several counters and the runtime overhead shouldn't be noticeable
    given that they're on pwq's which are per-cpu on per-cpu workqueues and
    per-numa-node on unbound ones. Let's keep it simple for the time being.

    v2: Patch reordered to earlier with fewer fields. Field will be added back
        gradually. Help message improved.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Cc: Lai Jiangshan <jiangshanlai@gmail.com>

Signed-off-by: Waiman Long <longman@redhat.com>
2024-05-03 13:39:23 -04:00
..
bpf bpf, tcx: Get rid of tcx_link_const 2024-04-04 16:30:18 +02:00
cgroup Merge: cgroup: cgroup-v1: do not exclude cgrp_dfl_root 2024-04-22 12:44:40 +00:00
configs mm, slob: rename CONFIG_SLOB to CONFIG_SLOB_DEPRECATED 2024-04-09 09:42:54 -04:00
debug mm: remove vmacache 2024-04-01 11:19:46 -04:00
dma Reapply "dma-mapping: reject __GFP_COMP in dma_alloc_attrs" 2024-02-19 10:00:36 -08:00
entry entry: kmsan: introduce kmsan_unpoison_entry_regs() 2023-10-20 06:14:42 -04:00
events Merge: perf: Sync with upstream v6.8 2024-04-24 19:39:17 +00:00
futex futex: Prevent the reuse of stale pi_state 2024-03-27 10:12:24 -04:00
gcov
irq x86/pci/xen: populate MSI sysfs entries 2024-03-20 09:43:03 -04:00
kcsan panic: Consolidate open-coded panic_on_warn checks 2024-04-09 09:43:00 -04:00
livepatch Merge: livepatch: selected fixes for rhel-9.4 2023-11-13 10:15:36 +01:00
locking locking/rtmutex: Add a lockdep assert to catch potential nested blocking 2024-03-27 10:06:01 -04:00
power workqueue: Introduce show_freezable_workqueues 2024-05-03 13:39:23 -04:00
printk Merge: arch/x86: backport 2024-03-26 11:25:15 -04:00
rcu rcu: Remove rcu_is_idle_cpu() 2024-03-20 09:42:38 -04:00
sched Merge: futex: Rebase futex code to v6.8 2024-04-29 14:06:58 +00:00
time vdso/timens: Refactor copy-pasted find_timens_vvar_page() helper into one copy 2024-03-20 09:42:49 -04:00
trace Merge: block: open block device as file 2024-04-29 14:05:40 +00:00
.gitignore
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
Makefile kernel: add platform_has() infrastructure 2024-03-20 09:42:37 -04:00
acct.c acct: use VMA iterator instead of linked list 2024-04-01 11:19:51 -04:00
async.c Revert "module, async: async_synchronize_full() on module init iff async is used" 2024-05-03 13:39:22 -04:00
audit.c audit: move trailing statements to next line 2023-12-08 13:36:23 -03:00
audit.h audit: correct audit_filter_inodes() definition 2023-12-08 13:36:03 -03:00
audit_fsnotify.c
audit_tree.c
audit_watch.c audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare() 2023-11-21 10:44:01 +01:00
auditfilter.c audit: move trailing statements to next line 2023-12-08 13:36:23 -03:00
auditsc.c netfilter: nf_tables: Audit log rule reset 2023-12-08 13:39:15 -03:00
backtracetest.c
bounds.c mm: multi-gen LRU: minimal implementation 2023-10-20 06:13:45 -04:00
capability.c
cfi.c
compat.c
configs.c
context_tracking.c
cpu.c cpu/hotplug: Remove dependancy against cpu_primary_thread_mask 2024-02-06 10:17:15 -05:00
cpu_pm.c
crash_core.c mm, treewide: redefine MAX_ORDER sanely 2023-10-30 09:12:37 +01:00
crash_dump.c
cred.c
delayacct.c
dma.c
exec_domain.c
exit.c kernel: exit: cleanup release_thread() 2024-03-20 09:42:40 -04:00
extable.c sections: move and rename core_kernel_data() to is_kernel_core_data() 2024-03-20 09:43:21 -04:00
fail_function.c
fork.c mm: remove the vma linked list 2024-04-01 11:19:57 -04:00
freezer.c
gen_kheaders.sh
groups.c
hung_task.c
iomem.c
irq_work.c
jump_label.c jump_label: make initial NOP patching the special case 2024-03-20 09:43:04 -04:00
kallsyms.c
kallsyms_internal.h
kcmp.c
kcov.c kcov: kmsan: unpoison area->list in kcov_remote_area_put() 2023-10-20 06:14:40 -04:00
kexec.c
kexec_core.c kexec: do syscore_shutdown() in kernel_kexec 2024-01-23 06:06:00 -05:00
kexec_elf.c
kexec_file.c
kexec_internal.h
kheaders.c
kmod.c
kprobes.c x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range 2024-03-20 09:42:59 -04:00
ksysfs.c
kthread.c treewide: Drop WARN_ON_FUNCTION_MISMATCH 2024-05-03 13:39:22 -04:00
latencytop.c
module-internal.h
module.c Revert "module, async: async_synchronize_full() on module init iff async is used" 2024-05-03 13:39:22 -04:00
module_signature.c
module_signing.c
notifier.c notifier: Add atomic_notifier_call_chain_is_empty() 2024-03-20 09:42:36 -04:00
nsproxy.c Revert "fs/exec: allow to unshare a time namespace on vfork+exec" 2023-10-20 06:13:08 -04:00
padata.c padata: Fix refcnt handling in padata_free_shell() 2023-12-06 16:23:46 -03:00
panic.c panic: Expose "warn_count" to sysfs 2024-04-09 09:43:00 -04:00
params.c kobject: kset_uevent_ops: make filter() callback take a const * 2023-10-23 10:35:56 -05:00
pid.c
pid_namespace.c rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes() 2023-09-22 13:21:34 -04:00
platform-feature.c kernel: add platform_has() infrastructure 2024-03-20 09:42:37 -04:00
profile.c profile: setup_profiling_timer() is moslty not implemented 2024-03-20 09:42:39 -04:00
ptrace.c
range.c
reboot.c kernel/reboot: Add do_kernel_power_off() 2024-03-20 09:42:36 -04:00
regset.c
relay.c
resource.c
resource_kunit.c
rh_messages.c kernel/rh_messages.c: Mark functions as possibly unused 2023-11-09 19:58:08 -05:00
rh_messages.h Deprecate qla4xxx in RHEL-9 2024-03-06 14:06:57 -08:00
rh_shadowman.c
rseq.c
scftorture.c
scs.c
seccomp.c
signal.c signal: Add proper comment about the preempt-disable in ptrace_stop(). 2023-11-06 12:29:40 +01:00
smp.c smp: don't declare nr_cpu_ids if NR_CPUS == 1 2024-03-20 09:42:41 -04:00
smpboot.c cpu/hotplug: Remove unused state functions 2024-02-06 10:17:13 -05:00
smpboot.h
softirq.c
stackleak.c
stacktrace.c
static_call.c
static_call_inline.c
stop_machine.c
sys.c
sys_ni.c futex: Add sys_futex_requeue() 2024-03-27 10:06:08 -04:00
sysctl-test.c
sysctl.c Merge: perf: Sync with upstream v6.8 2024-04-24 19:39:17 +00:00
task_work.c
taskstats.c
test_kprobes.c test_kprobes: Add recursed kprobe test case 2023-11-02 15:26:56 -06:00
torture.c
tracepoint.c
tsacct.c
ucount.c
uid16.c
uid16.h
umh.c freezer,umh: Clean up freezer/initrd interaction 2023-10-20 06:13:12 -04:00
up.c
user-return-notifier.c
user.c
user_namespace.c
usermode_driver.c
utsname.c
utsname_sysctl.c
watch_queue.c
watchdog.c
watchdog_hld.c
workqueue.c workqueue: Add pwq->stats[] and a monitoring script 2024-05-03 13:39:23 -04:00
workqueue_internal.h