kvfree_rcu: Make krc_this_cpu_unlock() use raw_spin_unlock_irqrestore()
authorPaul E. McKenney <paulmck@kernel.org>
Wed, 20 Jan 2021 21:38:08 +0000 (13:38 -0800)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 8 Mar 2021 22:18:07 +0000 (14:18 -0800)
commit7ffc9ec8eac196cbd85669a4d7920cd80f186a51
tree91692f5101bbeef9055de2382cd4fd539a1bdebe
parentb01b405092b7940bd366053a27ed54a87c84e96a
kvfree_rcu: Make krc_this_cpu_unlock() use raw_spin_unlock_irqrestore()

The krc_this_cpu_unlock() function does a raw_spin_unlock() immediately
followed by a local_irq_restore().  This commit saves a line of code by
merging them into a raw_spin_unlock_irqrestore().  This transformation
also reduces scheduling latency because raw_spin_unlock_irqrestore()
responds immediately to a reschedule request.  In contrast,
local_irq_restore() does a scheduling-oblivious enabling of interrupts.

Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c