Messages in this thread | | | Date | Wed, 14 Jul 2021 12:17:05 +0200 | From | Peter Zijlstra <> | Subject | Re: [patch 05/50] sched: Provide schedule point for RT locks |
| |
On Wed, Jul 14, 2021 at 11:49:47AM +0200, Thomas Gleixner wrote: > On Wed, Jul 14 2021 at 10:28, Peter Zijlstra wrote: > > 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? > > SM_MASK_STATE is overengineered. See combo patch 4+5 below
Yep, that should result in similar code as my proposal, thanks!
nit: you like UINT_MAX better than (~0U) ?
| |