linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] workqueue: Changes for v6.6
@ 2023-08-31 22:19 Tejun Heo
  2023-09-01 23:20 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Tejun Heo @ 2023-08-31 22:19 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, Lai Jiangshan

The following changes since commit aa6fde93f3a49e42c0fe0490d7f3711bac0d162e:

  workqueue: Scale up wq_cpu_intensive_thresh_us if BogoMIPS is below 4000 (2023-07-25 11:49:57 -1000)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git/ tags/wq-for-6.6

for you to fetch changes up to fe48ba7daefe75bbbefa2426deddc05f2d530d2d:

  workqueue: fix data race with the pwq->stats[] increment (2023-08-29 09:52:16 -1000)

----------------------------------------------------------------
workqueue: Changes for v6.6

* Unbound workqueues now support more flexible affinity scopes. The default
  behavior is to soft-affine according to last level cache boundaries. A
  work item queued from a given LLC is executed by a worker running on the
  same LLC but the worker may be moved across cache boundaries as the
  scheduler sees fit. On machines which multiple L3 caches, which are
  becoming more popular along with chiplet designs, this improves cache
  locality while not harming work conservation too much.

  Unbound workqueues are now also a lot more flexible in terms of execution
  affinity. Differeing levels of affinity scopes are supported and both the
  default and per-workqueue affinity settings can be modified dynamically.
  This should help working around amny of sub-optimal behaviors observed
  recently with asymmetric ARM CPUs.

  This involved signficant restructuring of workqueue code. Nothing was
  reported yet but there's some risk of subtle regressions. Should keep an
  eye out.

* Rescuer workers now has more identifiable comms.

* workqueue.unbound_cpus added so that CPUs which can be used by workqueue
  can be constrained early during boot.

* Now that all the in-tree users have been flushed out, trigger warning if
  system-wide workqueues are flushed.

* One pull commit from for-6.5-fixes to avoid cascading conflicts in the
  affinity scope patchset.

----------------------------------------------------------------
Aaron Tomlin (1):
      workqueue: Rename rescuer kworker

Mirsad Goran Todorovac (1):
      workqueue: fix data race with the pwq->stats[] increment

Tejun Heo (27):
      workqueue: Merge branch 'for-6.5-fixes' into for-6.6
      workqueue: Drop the special locking rule for worker->flags and worker_pool->flags
      workqueue: Cleanups around process_scheduled_works()
      workqueue: Not all work insertion needs to wake up a worker
      workqueue: Rename wq->cpu_pwqs to wq->cpu_pwq
      workqueue: Relocate worker and work management functions
      workqueue: Remove module param disable_numa and sysfs knobs pool_ids and numa
      workqueue: Use a kthread_worker to release pool_workqueues
      workqueue: Make per-cpu pool_workqueues allocated and released like unbound ones
      workqueue: Call wq_update_unbound_numa() on all CPUs in NUMA node on CPU hotplug
      workqueue: Make unbound workqueues to use per-cpu pool_workqueues
      workqueue: Rename workqueue_attrs->no_numa to ->ordered
      workqueue: Rename NUMA related names to use pod instead
      workqueue: Move wq_pod_init() below workqueue_init()
      workqueue: Initialize unbound CPU pods later in the boot
      workqueue: Factor out actual cpumask calculation to reduce subtlety in wq_update_pod()
      workqueue: Factor out clearing of workqueue-only attrs fields
      workqueue: Generalize unbound CPU pods
      workqueue: Add tools/workqueue/wq_dump.py which prints out workqueue configuration
      workqueue: Modularize wq_pod_type initialization
      workqueue: Add multiple affinity scopes and interface to select them
      workqueue: Factor out work to worker assignment and collision handling
      workqueue: Factor out need_more_worker() check and worker wake-up
      workqueue: Add workqueue_attrs->__pod_cpumask
      workqueue: Implement non-strict affinity scope for unbound workqueues
      workqueue: Add "Affinity Scopes and Performance" section to documentation
      workqueue: Make default affinity_scope dynamically updatable

Tetsuo Handa (1):
      workqueue: Warn attempt to flush system-wide workqueues.

Yang Yingliang (1):
      workqueue: use LIST_HEAD to initialize cull_list

tiozhang (1):
      workqueue: add cmdline parameter `workqueue.unbound_cpus` to further constrain wq_unbound_cpumask at boot time

 Documentation/admin-guide/kernel-parameters.txt |   28 +-
 Documentation/core-api/workqueue.rst            |  356 ++++-
 include/linux/workqueue.h                       |  115 +-
 init/main.c                                     |    1 +
 kernel/workqueue.c                              | 1618 +++++++++++++----------
 kernel/workqueue_internal.h                     |    2 +-
 tools/workqueue/wq_dump.py                      |  177 +++
 tools/workqueue/wq_monitor.py                   |   21 +-
 8 files changed, 1513 insertions(+), 805 deletions(-)
 create mode 100644 tools/workqueue/wq_dump.py

-- 
tejun

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [GIT PULL] workqueue: Changes for v6.6
  2023-08-31 22:19 [GIT PULL] workqueue: Changes for v6.6 Tejun Heo
@ 2023-09-01 23:20 ` pr-tracker-bot
  0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2023-09-01 23:20 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Linus Torvalds, linux-kernel, Lai Jiangshan

The pull request you sent on Thu, 31 Aug 2023 12:19:54 -1000:

> git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git/ tags/wq-for-6.6

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/bd30fe6a7d9b72e73c5ac9109cbc3066dde08034

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-09-01 23:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-31 22:19 [GIT PULL] workqueue: Changes for v6.6 Tejun Heo
2023-09-01 23:20 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).