• Linus Torvalds's avatar
    Merge tag 'cgroup-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 9f8413c4
    Linus Torvalds authored
    Pull cgroup updates from Tejun Heo:
    
     - 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.
    
    * tag 'cgroup-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
      cgroup: Move rcu_head up near the top of cgroup_root
      cgroup/cpuset: Include isolated cpuset CPUs in cpu_is_isolated() check
      cgroup: Avoid false cacheline sharing of read mostly rstat_cpu
      cgroup/rstat: Optimize cgroup_rstat_updated_list()
      cgroup: Fix documentation for cpu.idle
      cgroup/cpuset: Expose cpuset.cpus.isolated
      workqueue: Move workqueue_set_unbound_cpumask() and its helpers inside CONFIG_SYSFS
      cgroup/rstat: Reduce cpu_lock hold time in cgroup_rstat_flush_locked()
      cgroup/cpuset: Take isolated CPUs out of workqueue unbound cpumask
      cgroup/cpuset: Keep track of CPUs in isolated partitions
      selftests/cgroup: Minor code cleanup and reorganization of test_cpuset_prs.sh
      workqueue: Add workqueue_unbound_exclude_cpumask() to exclude CPUs from wq_unbound_cpumask
      selftests: cgroup: Fixes a typo in a comment
      cgroup: Add a new helper for cgroup1 hierarchy
      cgroup: Add annotation for holding namespace_sem in current_cgns_cgroup_from_root()
      cgroup: Eliminate the need for cgroup_mutex in proc_cgroup_show()
      cgroup: Make operations on the cgroup root_list RCU safe
      cgroup: Remove unnecessary list_empty()
    9f8413c4
cgroup.c 185 KB