On 2021-12-23 16:48:41 [-0500], Waiman Long wrote: > On 12/22/21 06:41, Sebastian Andrzej Siewior wrote: > > Based on my understanding the optimisation with task_obj for in_task() > > mask sense on non-PREEMPTIBLE kernels because preempt_disable()/enable() > > is optimized away. This could be then restricted to !CONFIG_PREEMPTION kernel > > instead to only PREEMPT_RT. > > With CONFIG_PREEMPT_DYNAMIC a non-PREEMPTIBLE kernel can also be > > configured but these kernels always have preempt_disable()/enable() > > present so it probably makes no sense here for the optimisation. > > > > Restrict the optimisation to !CONFIG_PREEMPTION kernels. > > > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > > If PREEMPT_DYNAMIC is selected, PREEMPTION will also be set. My > understanding is that some distros are going to use PREEMPT_DYNAMIC, but > default to PREEMPT_VOLUNTARY. So I don't believe it is a good idea to > disable the optimization based on PREEMPTION alone. So there is a benefit to this even if preempt_disable() is not optimized away? My understanding was that this depends on preempt_disable() being optimized away. Is there something you recommend as a benchmark where I could get some numbers? > Regards, > Longman Sebastian