Messages in this thread | | | Subject | Re: [RFC PATCH 0/7] Early task context tracking | From | Daniel Bristot de Oliveira <> | Date | Mon, 8 Apr 2019 14:54:54 +0200 |
| |
On 4/4/19 7:40 PM, Joel Fernandes wrote: >> Currently, recursion control uses the preempt_counter to >> identify the current context. The NMI/HARD/SOFT IRQ counters >> are set in the preempt_counter in the irq_enter/exit functions. > Just started looking. > > Thinking out loud... can we not just update the preempt_count as early on > entry and as late on exit, as possible, and fix it that way? (Haven't fully > yet looked into what could break if we did that.) > > I also feel the context tracking should be unified, right now we already have > two methods AFAIK - preempt_count and lockdep. Now this is yet another third. > Granted lockdep cannot be enabled in production, but still. It will be nice > to unify these tracking methods and if there is a single point of all such > context tracking that works well, and even better if we can just fix > preempt_count and use that for non-debugging usecases. > > Also I feel in_interrupt() etc should be updated to rely on such tracking > methods if something other than preempt_count is used..
Hi Joel,
I agree with you that it is important to have a single method to identify the context.
I did the RFC using a specific percpu variable to make things simpler. Also because I tried to move set/unset of the preempt_counter and my dev VM stopped booting. So it looked, somehow, risky to move the preempt_counter.
Still, if people believe it is better to use the preempt_counter... I am not against...
-- Daniel
> thanks, > > - Joel > >
| |