Re: [PATCH 8/9] psi: pressure stall information for CPU, memory, and IO

Randy Dunlap
2018-08-28T21:30:17Z

On 08/28/2018 01:56 PM, Johannes Weiner wrote:
> On Tue, Aug 28, 2018 at 01:11:11PM -0700, Randy Dunlap wrote:
>> On 08/28/2018 10:22 AM, Johannes Weiner wrote:
>>> diff --git a/Documentation/accounting/psi.txt b/Documentation/accounting/psi.txt
>>> new file mode 100644
>>> index 000000000000..51e7ef14142e
>>> --- /dev/null
>>> +++ b/Documentation/accounting/psi.txt
>>> @@ -0,0 +1,64 @@
>>> +================================
>>> +PSI - Pressure Stall Information
>>> +================================
>>> +
>>> +:Date: April, 2018
>>> +:Author: Johannes Weiner <hannes@cmpxchg.org>
>>> +
>>> +When CPU, memory or IO devices are contended, workloads experience
>>> +latency spikes, throughput losses, and run the risk of OOM kills.
>>> +
>>> +Without an accurate measure of such contention, users are forced to
>>> +either play it safe and under-utilize their hardware resources, or
>>> +roll the dice and frequently suffer the disruptions resulting from
>>> +excessive overcommit.
>>> +
>>> +The psi feature identifies and quantifies the disruptions caused by
>>> +such resource crunches and the time impact it has on complex workloads
>>> +or even entire systems.
>>> +
>>> +Having an accurate measure of productivity losses caused by resource
>>> +scarcity aids users in sizing workloads to hardware--or provisioning
>>> +hardware according to workload demand.
>>> +
>>> +As psi aggregates this information in realtime, systems can be managed
>>> +dynamically using techniques such as load shedding, migrating jobs to
>>> +other systems or data centers, or strategically pausing or killing low
>>> +priority or restartable batch jobs.
>>> +
>>> +This allows maximizing hardware utilization without sacrificing
>>> +workload health or risking major disruptions such as OOM kills.
>>> +
>>> +Pressure interface
>>> +==================
>>> +
>>> +Pressure information for each resource is exported through the
>>> +respective file in /proc/pressure/ -- cpu, memory, and io.
>>> +
>>
>> Hi,
>>
>>> +In both cases, the format for CPU is as such:
>>
>> I don't see what "In both cases" refers to here. It seems that you could
>> just remove it.
>
> You're right, that must be a left-over from when I described CPU
> separately; "both cases" referred to memory and IO which have
> identical formats. It needs to be removed:
>
> diff --git a/Documentation/accounting/psi.txt b/Documentation/accounting/psi.txt
> index e051810d5127..b8ca28b60215 100644
> --- a/Documentation/accounting/psi.txt
> +++ b/Documentation/accounting/psi.txt
> @@ -35,7 +35,7 @@ Pressure interface
> Pressure information for each resource is exported through the
> respective file in /proc/pressure/ -- cpu, memory, and io.
>
> -In both cases, the format for CPU is as such:
> +The format for CPU is as such:
>
> some avg10=0.00 avg60=0.00 avg300=0.00 total=0

OK. However, after reading patch 9/9, I thought that the "both cases"
could possibly mean the files in /proc/pressure/ and the files in
cgroup ({cpu,io,memory}.pressure).

--
~Randy