[GIT,PULL] cgroup: Changes for v6.8

Message ID ZYnvgTc22Exn7Z4C@mtj.duckdns.org
State New
Headers
Series [GIT,PULL] cgroup: Changes for v6.8 |

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git/ tags/cgroup-for-6.8

Message

Tejun Heo Dec. 25, 2023, 9:09 p.m. UTC
  Merry Christmas and happy new year!

The following changes since commit 4a6c5607d4502ccd1b15b57d57f17d12b6f257a7:

  workqueue: Make sure that wq_unbound_cpumask is never empty (2023-11-22 06:17:26 -1000)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git/ tags/cgroup-for-6.8

for you to fetch changes up to a7fb0423c201ba12815877a0b5a68a6a1710b23a:

  cgroup: Move rcu_head up near the top of cgroup_root (2023-12-07 12:54:59 -1000)

----------------------------------------------------------------
cgroup: Changes for v6.8

- Yafang Shao added task_get_cgroup1() helper to enable a similar BPF helper
  so that BPF progs can be more useful on cgroup1 hierarchies. While cgroup1
  is mostly in maintenance mode, this addition is very small while having an
  outsized usefulness for users who are still on cgroup1. Yafang also
  optimized root cgroup list access by making it RCU protected in the
  process.

- Waiman Long optimized rstat operation leading to substantially lower and
  more consistent lock hold time while flushing the hierarchical statistics.
  As the lock can be acquired briefly in various hot paths, this reduction
  has cascading benefits.

- Waiman also improved the quality of isolation for cpuset's isolated
  partitions. CPUs which are allocated to isolated partitions are now
  excluded from running unbound work items and cpu_is_isolated() test which
  is used by vmstat and memcg to reduce interference now includes cpuset
  isolated CPUs. While it isn't there yet, the hope is eventually reaching
  parity with the isolation level provided by the `isolcpus` boot param but
  in a dynamic manner.

  This involved a couple workqueue patches which were applied directly to
  cgroup/for-6.8 rather than ping-ponged through the wq tree. This was
  because the wq code change was small and the area is usually very static
  and unlikely to cause conflicts. However, luck had it that there was a wq
  bug fix in the area during the 6.7 cycle which caused a conflict. The
  conflict is contextual but can be a bit confusing to resolve, so there is
  one merge from wq/for-6.7-fixes.

----------------------------------------------------------------
Atul Kumar Pant (1):
      selftests: cgroup: Fixes a typo in a comment

Josh Don (1):
      cgroup: Fix documentation for cpu.idle

Tejun Heo (1):
      Merge branch 'for-6.7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq into for-6.8

Waiman Long (11):
      workqueue: Add workqueue_unbound_exclude_cpumask() to exclude CPUs from wq_unbound_cpumask
      selftests/cgroup: Minor code cleanup and reorganization of test_cpuset_prs.sh
      cgroup/cpuset: Keep track of CPUs in isolated partitions
      cgroup/cpuset: Take isolated CPUs out of workqueue unbound cpumask
      cgroup/rstat: Reduce cpu_lock hold time in cgroup_rstat_flush_locked()
      workqueue: Move workqueue_set_unbound_cpumask() and its helpers inside CONFIG_SYSFS
      cgroup/cpuset: Expose cpuset.cpus.isolated
      cgroup/rstat: Optimize cgroup_rstat_updated_list()
      cgroup: Avoid false cacheline sharing of read mostly rstat_cpu
      cgroup/cpuset: Include isolated cpuset CPUs in cpu_is_isolated() check
      cgroup: Move rcu_head up near the top of cgroup_root

Yafang Shao (5):
      cgroup: Remove unnecessary list_empty()
      cgroup: Make operations on the cgroup root_list RCU safe
      cgroup: Eliminate the need for cgroup_mutex in proc_cgroup_show()
      cgroup: Add annotation for holding namespace_sem in current_cgns_cgroup_from_root()
      cgroup: Add a new helper for cgroup1 hierarchy

 Documentation/admin-guide/cgroup-v2.rst           |  33 ++-
 include/linux/cgroup-defs.h                       |  21 +-
 include/linux/cgroup.h                            |   4 +-
 include/linux/cpuset.h                            |   6 +
 include/linux/sched/isolation.h                   |   4 +-
 include/linux/workqueue.h                         |   2 +-
 kernel/cgroup/cgroup-internal.h                   |   4 +-
 kernel/cgroup/cgroup-v1.c                         |  34 +++
 kernel/cgroup/cgroup.c                            |  45 ++--
 kernel/cgroup/cpuset.c                            | 297 ++++++++++++++++------
 kernel/cgroup/rstat.c                             | 150 +++++++----
 kernel/workqueue.c                                | 167 ++++++++----
 tools/testing/selftests/cgroup/test_cpuset_prs.sh | 222 ++++++++++------
 tools/testing/selftests/cgroup/test_freezer.c     |   2 +-
 14 files changed, 708 insertions(+), 283 deletions(-)
  

Comments

pr-tracker-bot@kernel.org Jan. 9, 2024, 4:16 a.m. UTC | #1
The pull request you sent on Tue, 26 Dec 2023 06:09:21 +0900:

> git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git/ tags/cgroup-for-6.8

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

Thank you!