Messages in this thread | | | Date | Wed, 17 Mar 2021 09:06:28 +0100 | From | Peter Zijlstra <> | 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.
| |