diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-08-03 08:28:01 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-08-03 08:28:01 -0700 |
| commit | 35e66f03de8f5343825adfc21bcaec4a99d3d4c2 (patch) | |
| tree | 19b4eb58c51de15c29d9e1a62683ea2dfe5316f0 /include | |
| parent | 075b74841bd0065a3bda3440873c747938e69b68 (diff) | |
| parent | 2fd9b4cfcefe30cb506072f78f2cd3b6dc8a29b1 (diff) | |
| download | linux-next-35e66f03de8f5343825adfc21bcaec4a99d3d4c2.tar.gz linux-next-35e66f03de8f5343825adfc21bcaec4a99d3d4c2.zip | |
Merge tag 'cgroup-for-7.2-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup fixes from Tejun Heo:
- A pressure trigger's poll timer could be re-armed while the last
trigger was being torn down and then fire after the cgroup was freed.
Tie the timer to the cgroup's lifetime and shut it down when the
cgroup is freed.
- Writing to a pressure file forked a worker kthread while holding the
cgroup mutex, creating lock dependencies from the mutex to the whole
fork path. A pressure write racing a sched_ext scheduler enable,
which blocks forks before grabbing the mutex, deadlocked.
Fork the worker with the mutex dropped.
- Documentation fix for io.latency behavior on non-rotational devices.
* tag 'cgroup-for-7.2-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
Docs/admin-guide/cgroup-v2: document io.latency rotational vs non-rotational behavior
sched/psi: Shut down rtpoll_timer in psi_cgroup_free()
sched/psi: Create the psimon kthread outside of cgroup_mutex
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/psi.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/psi.h b/include/linux/psi.h index e0745873e3f2..7966e3ac03b9 100644 --- a/include/linux/psi.h +++ b/include/linux/psi.h @@ -25,7 +25,9 @@ void psi_memstall_leave(unsigned long *flags); int psi_show(struct seq_file *s, struct psi_group *group, enum psi_res res); struct psi_trigger *psi_trigger_create(struct psi_group *group, char *buf, enum psi_res res, struct file *file, - struct kernfs_open_file *of); + struct kernfs_open_file *of, + bool *need_rtpoll_worker); +int psi_trigger_create_rtpoll_worker(struct psi_group *group); void psi_trigger_destroy(struct psi_trigger *t); __poll_t psi_trigger_poll(void **trigger_ptr, struct file *file, |
