lkml.org 
[lkml]   [2022]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 09/19] rcu/context-tracking: Remove rcu_irq_enter/exit()
On Wed, Mar 02, 2022 at 04:48:00PM +0100, Frederic Weisbecker wrote:
> void ct_irq_enter_irqson(void)
> {
> - rcu_irq_enter_irqson();
> + unsigned long flags;
> +
> + local_irq_save(flags);
> + ct_irq_enter();
> + local_irq_restore(flags);
> }
>
> void ct_irq_exit_irqson(void)
> {
> - rcu_irq_exit_irqson();
> + unsigned long flags;
> +
> + local_irq_save(flags);
> + ct_irq_exit();
> + local_irq_restore(flags);
> }

I know you're just copying code around, but this is broken per
construction :/

On the irq_enter site, local_irq_save() will hit a tracepoint, which
requires RCU, which will only be made available by the ct_irq_enter().
Same in reverse for the exit case.

\
 
 \ /
  Last update: 2022-03-05 15:16    [W:0.290 / U:0.440 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site