• P
    rcu: Define rcu_irq_{enter,exit}() in terms of rcu_nmi_{enter,exit}() · 58721f5d
    Paul E. McKenney 提交于
    RCU currently uses two different mechanisms for tracking irqs and NMIs.
    This is unnecessary complexity: Given that NMIs can nest and given that
    RCU's tracking handles such nesting, the NMI tracking mechanism can also
    be used to track irqs.  This commit therefore defines rcu_irq_enter()
    in terms of rcu_nmi_enter() and rcu_irq_exit() in terms of rcu_nmi_exit().
    
    Unfortunately, callers must still distinguish between the irq and NMI
    functions because additional actions are taken when an irq interrupts
    idle or nohz_full usermode execution, and these actions cannot always
    be taken from NMI handlers.
    Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    58721f5d
tree.c 133.2 KB