o Code cleanup from Lai Jiangshan that makes the calls to rcu_irq_enter() and rcu_irq_exit() more obviously correct. The previous code worked because rcu_irq_exit() is always an empty function if !NO_HZ.

o Fix a low-probability race in the TREE_RCU infrastructure that can be triggered by extremely long grace periods.