Re: [PATCH 5/7] cpuidle: Introduce CPUIDLE_FLAG_POLLING_HARD

From: Frederic Weisbecker
Date: Thu Feb 08 2024 - 11:46:49 EST


Le Tue, Dec 12, 2023 at 02:12:48PM +0100, Rafael J. Wysocki a écrit :
> > diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h
> > index 66b59868622c..873fdf200dc3 100644
> > --- a/include/linux/cpuidle.h
> > +++ b/include/linux/cpuidle.h
> > @@ -78,13 +78,14 @@ struct cpuidle_state {
> >
> > /* Idle State Flags */
> > #define CPUIDLE_FLAG_NONE (0x00)
> > -#define CPUIDLE_FLAG_POLLING_SOFT BIT(0) /* polling state */
> > +#define CPUIDLE_FLAG_POLLING_SOFT BIT(0) /* software need_resched() polling state */
> > #define CPUIDLE_FLAG_COUPLED BIT(1) /* state applies to multiple cpus */
> > #define CPUIDLE_FLAG_TIMER_STOP BIT(2) /* timer is stopped on this state */
> > #define CPUIDLE_FLAG_UNUSABLE BIT(3) /* avoid using this state */
> > #define CPUIDLE_FLAG_OFF BIT(4) /* disable this state by default */
> > #define CPUIDLE_FLAG_TLB_FLUSHED BIT(5) /* idle-state flushes TLBs */
> > #define CPUIDLE_FLAG_RCU_IDLE BIT(6) /* idle-state takes care of RCU */
> > +#define CPUIDLE_FLAG_POLLING_HARD BIT(7) /* hardware need_resched() polling state */
>
> Hardware need_resched() monitoring rather? This doesn't do what
> "polling" usually means AFAICS.

Fair enough!

> >
> > struct cpuidle_device_kobj;
> > struct cpuidle_state_kobj;
> > --