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

From: Phil Auld
Date: Tue Jun 11 2019 - 10:16:53 EST


On Tue, Jun 11, 2019 at 03:53:25PM +0200 Peter Zijlstra wrote:
> 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
> };
>


That looks reasonable to me.

Out of curiosity, why not bool? Is sizeof bool architecture dependent?

--