Re: [PATCH v7 0/4] sched/psi: Allow unprivileged PSI polling

From: Suren Baghdasaryan
Date: Thu Mar 30 2023 - 16:17:34 EST


On Thu, Mar 30, 2023 at 1:06 PM Domenico Cerasuolo
<cerasuolodomenico@xxxxxxxxx> wrote:
>
> PSI offers 2 mechanisms to get information about a specific resource
> pressure. One is reading from /proc/pressure/<resource>, which gives
> average pressures aggregated every 2s. The other is creating a pollable
> fd for a specific resource and cgroup.
>
> The trigger creation requires CAP_SYS_RESOURCE, and gives the
> possibility to pick specific time window and threshold, spawing an RT
> thread to aggregate the data.
>
> Systemd would like to provide containers the option to monitor pressure
> on their own cgroup and sub-cgroups. For example, if systemd launches a
> container that itself then launches services, the container should have
> the ability to poll() for pressure in individual services. But neither
> the container nor the services are privileged.
>
> The series is implemented in 4 steps in order to reduce the noise of
> the change.

Thanks! For the entire series
Acked-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>

>
> V7:
> - fix code style in psi trigger create/destroy aggregators paths
>
> V6:
> - fix trigger creation logic now using proper locks
>
> V5:
> - few suggested code style changes in psi.c and psy_types.h
> - fix trigger destruction logic now using proper locks
>
> V4:
> - fixed psi_open leftover usage in IRQ accounting (patch 4/4)
>
> V3:
> - restored renaming patch (#2 of 4) as suggested in review
> - rebased #3 and #4 on the renaming commit
>
> V2:
> - removed renaming patch (previous 2/4) and applied suggested solution
> - changed update_triggers side effect removal as suggested in review
> - rebased core patch on other V2 changes
>
> Domenico Cerasuolo (4):
> sched/psi: rearrange polling code in preparation
> sched/psi: rename existing poll members in preparation
> sched/psi: extract update_triggers side effect
> sched/psi: allow unprivileged polling of N*2s period
>
> Documentation/accounting/psi.rst | 4 +
> include/linux/psi.h | 2 +-
> include/linux/psi_types.h | 43 +--
> kernel/cgroup/cgroup.c | 2 +-
> kernel/sched/psi.c | 443 +++++++++++++++++--------------
> 5 files changed, 276 insertions(+), 218 deletions(-)
>
> --
> 2.34.1
>