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

From: Peter Zijlstra
Date: Tue Jun 11 2019 - 09:58:01 EST


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
};