An error occurred while fetching folder content.
workqueue: Kick a worker based on the actual activation of delayed works
Yunfeng Ye authored
[ Upstream commit 01341fbd

 ]

In realtime scenario, We do not want to have interference on the
isolated cpu cores. but when invoking alloc_workqueue() for percpu wq
on the housekeeping cpu, it kick a kworker on the isolated cpu.

  alloc_workqueue
    pwq_adjust_max_active
      wake_up_worker

The comment in pwq_adjust_max_active() said:
  "Need to kick a worker after thawed or an unbound wq's
   max_active is bumped"

So it is unnecessary to kick a kworker for percpu's wq when invoking
alloc_workqueue(). this patch only kick a worker based on the actual
activation of delayed works.
Signed-off-by: default avatarYunfeng Ye <yeyunfeng@huawei.com>
Reviewed-by: default avatarLai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
2e3e4b33
Name Last commit Last update
..
bpf bpf: Fix a rcu warning for bpffs map pretty-print
cgroup cgroup: add missing skcd->no_refcnt check in cgroup_sk_clone()
configs kconfig: tinyconfig: remove stale stack protector fixups
debug kgdb: Make "kgdbcon" work properly with "kgdb_earlycon"
dma swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb"
events perf/core: Fix race in the perf_mmap_close() function
gcov gcov: add support for GCC 10.1
irq genirq/irqdomain: Don't try to free an interrupt that has no mapping
livepatch livepatch: Nullify obj->mod in klp_module_coming()'s error path
locking locking/lockdep: Fix overflow in presentation of average lock-time
power PM: hibernate: remove the bogus call to get_gendisk() in software_resume()
printk printk: handle blank console arguments passed in.
rcu rcu: Avoid data-race in rcu_gp_fqs_check_wake()
sched sched: Reenable interrupts in do_sched_yield()
time random32: make prandom_u32() output unpredictable
trace tracing: Fix userstacktrace option for instances
.gitignore certs: add .gitignore to stop git nagging about x509_certificate_list
Kconfig.freezer container freezer: implement freezer cgroup subsystem
Kconfig.hz kernel: remove CONFIG_USE_GENERIC_SMP_HELPERS
Kconfig.locks locking/mutex: Allow MUTEX_SPIN_ON_OWNER when DEBUG_MUTEXES
Kconfig.preempt kconfig: include kernel/Kconfig.preempt from init/Kconfig
Makefile y2038: futex: Move compat implementation into futex.c
acct.c acct_on(): don't mess with freeze protection
async.c kernel/async.c: revert "async: simplify lowest_in_progress()"
audit.c audit: fix a net reference leak in audit_list_rules_send()
audit.h
audit_fsnotify.c
audit_tree.c
audit_watch.c
auditfilter.c
auditsc.c
backtracetest.c
bounds.c
capability.c
compat.c
configs.c
context_tracking.c
cpu.c
cpu_pm.c
crash_core.c
crash_dump.c
cred.c
delayacct.c
dma.c
elfcore.c
exec_domain.c
exit.c
extable.c
fail_function.c
fork.c
freezer.c
futex.c
groups.c
hung_task.c
iomem.c
irq_work.c
jump_label.c
kallsyms.c
kcmp.c
kcov.c
kexec.c
kexec_core.c
kexec_file.c
kexec_internal.h
kmod.c
kprobes.c
ksysfs.c
kthread.c
latencytop.c
memremap.c
module-internal.h
module.c
module_signing.c
notifier.c
nsproxy.c
padata.c
panic.c
params.c
pid.c
pid_namespace.c
profile.c
ptrace.c
range.c
reboot.c
relay.c
resource.c
rseq.c
seccomp.c
signal.c
smp.c
smpboot.c
smpboot.h
softirq.c
stacktrace.c
stop_machine.c
sys.c
sys_ni.c
sysctl.c
sysctl_binary.c
task_work.c