- rcu-fix-hibernate-resume-in-presence-of-preempt_rcu-and-hotplug.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     rcu: fix hibernate/resume in presence of PREEMPT_RCU and hotplug
has been removed from the -mm tree.  Its filename was
     rcu-fix-hibernate-resume-in-presence-of-preempt_rcu-and-hotplug.patch

This patch was dropped because it was merged into mainline or a subsystem tree

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: rcu: fix hibernate/resume in presence of PREEMPT_RCU and hotplug
From: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>

This fixes a WARN_ON() encountered when doing hibernate/resume in presence of
PREEMPT_RCU.  The problem was that the code failed to disable preemption when
accessing a per-CPU variable.  This is OK when called from code that already
has preemption disabled, but such is not the case from the suspend/resume code
path.

Reported-by: Dave Young <hidave.darkstar@xxxxxxxxx>
Tested-by: Dave Young <hidave.darkstar@xxxxxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 kernel/rcupreempt.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff -puN kernel/rcupreempt.c~rcu-fix-hibernate-resume-in-presence-of-preempt_rcu-and-hotplug kernel/rcupreempt.c
--- a/kernel/rcupreempt.c~rcu-fix-hibernate-resume-in-presence-of-preempt_rcu-and-hotplug
+++ a/kernel/rcupreempt.c
@@ -702,8 +702,9 @@ void rcu_offline_cpu(int cpu)
 	 * fix.
 	 */
 
+	local_irq_save(flags);
 	rdp = RCU_DATA_ME();
-	spin_lock_irqsave(&rdp->lock, flags);
+	spin_lock(&rdp->lock);
 	*rdp->nexttail = list;
 	if (list)
 		rdp->nexttail = tail;
_

Patches currently in -mm which might be from paulmck@xxxxxxxxxxxxxxxxxx are

git-sched.patch
kthread-add-a-missing-memory-barrier-to-kthread_stop.patch
kthread-call-wake_up_process-without-the-lock-being-held.patch
remove-rcu_assign_pointernull-penalty-with-type-macro-safety.patch
add-rcu_assign_index-if-ever-needed.patch
add-rcu_assign_index-if-ever-needed-fix.patch
rcu-split-listh-and-move-rcu-protected-lists-into-rculisth.patch
lock_task_sighand-add-rcu-lock-unlock.patch
k_getrusage-dont-take-rcu_read_lock.patch
do_task_stat-dont-take-rcu_read_lock.patch

--
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux