Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff89acc5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull RCU fixes from Paul McKenney:
 "A couple of fixes for RCU regressions:

   - A boneheaded boolean-logic bug that resulted in excessive delays on
     boot, hibernation and suspend that was reported by Borislav Petkov,
     Bjørn Mork, and Joerg Roedel.  The fix inserts a single "!".

   - A fix for a boot-time splat due to allocating from bootmem too late
     in boot, fix courtesy of Sasha Levin with additional help from
     Yinghai Lu."

* 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
  rcu: Don't allocate bootmem from rcu_init()
  rcu: Fix comparison sense in rcu_needs_cpu()
parents 264b83c0 615ee544
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -88,7 +88,7 @@ static void __init rcu_bootup_announce_oddness(void)
#ifdef CONFIG_RCU_NOCB_CPU
#ifdef CONFIG_RCU_NOCB_CPU
#ifndef CONFIG_RCU_NOCB_CPU_NONE
#ifndef CONFIG_RCU_NOCB_CPU_NONE
	if (!have_rcu_nocb_mask) {
	if (!have_rcu_nocb_mask) {
		alloc_bootmem_cpumask_var(&rcu_nocb_mask);
		zalloc_cpumask_var(&rcu_nocb_mask, GFP_KERNEL);
		have_rcu_nocb_mask = true;
		have_rcu_nocb_mask = true;
	}
	}
#ifdef CONFIG_RCU_NOCB_CPU_ZERO
#ifdef CONFIG_RCU_NOCB_CPU_ZERO
@@ -1667,7 +1667,7 @@ int rcu_needs_cpu(int cpu, unsigned long *dj)
	rdtp->last_accelerate = jiffies;
	rdtp->last_accelerate = jiffies;


	/* Request timer delay depending on laziness, and round. */
	/* Request timer delay depending on laziness, and round. */
	if (rdtp->all_lazy) {
	if (!rdtp->all_lazy) {
		*dj = round_up(rcu_idle_gp_delay + jiffies,
		*dj = round_up(rcu_idle_gp_delay + jiffies,
			       rcu_idle_gp_delay) - jiffies;
			       rcu_idle_gp_delay) - jiffies;
	} else {
	} else {