Re: [PATCH v2] sched/fair: don't push cfs_bandwith slack timers forward

From: bsegall
Date: Tue Jun 11 2019 - 13:30:43 EST


Peter Zijlstra <peterz@xxxxxxxxxxxxx> writes:

> On Thu, Jun 06, 2019 at 10:21:01AM -0700, bsegall@xxxxxxxxxx wrote:
>> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
>> index efa686eeff26..60219acda94b 100644
>> --- a/kernel/sched/sched.h
>> +++ b/kernel/sched/sched.h
>> @@ -356,6 +356,7 @@ struct cfs_bandwidth {
>> u64 throttled_time;
>>
>> bool distribute_running;
>> + bool slack_started;
>> #endif
>> };
>
> I'm thinking we can this instead? afaict both idle and period_active are
> already effecitively booleans and don't need the full 16 bits.
>
> --- a/kernel/sched/sched.h
> +++ b/kernel/sched/sched.h
> @@ -338,8 +338,10 @@ struct cfs_bandwidth {
> u64 runtime_expires;
> int expires_seq;
>
> - short idle;
> - short period_active;
> + u8 idle;
> + u8 period_active;
> + u8 distribute_running;
> + u8 slack_started;
> struct hrtimer period_timer;
> struct hrtimer slack_timer;
> struct list_head throttled_cfs_rq;
> @@ -348,9 +350,6 @@ struct cfs_bandwidth {
> int nr_periods;
> int nr_throttled;
> u64 throttled_time;
> -
> - bool distribute_running;
> - bool slack_started;
> #endif
> };
>


Yeah, that makes sense to me, should I spin up another version of the
patch doing this too or do you have it from here?