[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YFG4hEOe65cbCo26@hirez.programming.kicks-ass.net>
Date: Wed, 17 Mar 2021 09:06:28 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: changhuaixin <changhuaixin@...ux.alibaba.com>
Cc: Benjamin Segall <bsegall@...gle.com>, dietmar.eggemann@....com,
juri.lelli@...hat.com, khlebnikov@...dex-team.ru,
open list <linux-kernel@...r.kernel.org>, mgorman@...e.de,
mingo@...hat.com, Odin Ugedal <odin@...d.al>,
Odin Ugedal <odin@...dal.com>, pauld@...head.com,
Paul Turner <pjt@...gle.com>, rostedt@...dmis.org,
Shanpei Chen <shanpeic@...ux.alibaba.com>,
Tejun Heo <tj@...nel.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
xiyou.wangcong@...il.com
Subject: Re: [PATCH v4 1/4] sched/fair: Introduce primitives for CFS
bandwidth burst
On Wed, Mar 17, 2021 at 03:16:18PM +0800, changhuaixin wrote:
> > Why do you allow such a large burst? I would expect something like:
> >
> > if (burst > quote)
> > return -EINVAL;
> >
> > That limits the variance in the system. Allowing super long bursts seems
> > to defeat the entire purpose of bandwidth control.
>
> I understand your concern. Surely large burst value might allow super
> long bursts thus preventing bandwidth control entirely for a long
> time.
>
> However, I am afraid it is hard to decide what the maximum burst
> should be from the bandwidth control mechanism itself. Allowing some
> burst to the maximum of quota is helpful, but not enough. There are
> cases where workloads are bursty that they need many times more than
> quota in a single period. In such cases, limiting burst to the maximum
> of quota fails to meet the needs.
>
> Thus, I wonder whether is it acceptable to leave the maximum burst to
> users. If the desired behavior is to allow some burst, configure burst
> accordingly. If that is causing variance, use share or other fairness
> mechanism. And if fairness mechanism still fails to coordinate, do not
> use burst maybe.
It's not fairness, bandwidth control is about isolation, and burst
introduces interference.
> In this way, cfs_b->buffer can be removed while cfs_b->max_overrun is
> still needed maybe.
So what is the typical avg,stdev,max and mode for the workloads where you find
you need this?
I would really like to put a limit on the burst. IMO a workload that has
a burst many times longer than the quota is plain broken.
Powered by blists - more mailing lists