| Date | Wed, 14 Jul 2021 10:28:20 +0200 | From | Peter Zijlstra <> | Subject | Re: [patch 05/50] sched: Provide schedule point for RT locks |
| |
On Tue, Jul 13, 2021 at 05:10:59PM +0200, Thomas Gleixner wrote:
> --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -5832,8 +5832,14 @@ pick_next_task(struct rq *rq, struct tas > */ > #define SM_NONE 0x0 > #define SM_PREEMPT 0x1 > -#define SM_MASK_PREEMPT UINT_MAX > -#define SM_MASK_STATE SM_MASK_PREEMPT > +#ifndef CONFIG_PREEMPT_RT > +# define SM_MASK_PREEMPT UINT_MAX > +# define SM_MASK_STATE SM_MASK_PREEMPT > +#else > +# define SM_RTLOCK_WAIT 0x2 > +# define SM_MASK_PREEMPT SM_PREEMPT > +# define SM_MASK_STATE (SM_PREEMPT | SM_RTLOCK_WAIT) > +#endif
Wouldn't something like this:
#ifndef CONFIG_PREEMPT_RT # define SM_MASK_PREEMPT (~0U) #else # define SM_RTLOCK_WAIT 0x2 # define SM_MASK_PREEMPT SM_PREEMPT #endif
#define SM_MASK_STATE (~0U)
Be even better?
|