[kernel] r15000 - in dists/trunk/linux-2.6/debian: . patches/bugfix/all patches/series

Ben Hutchings benh at alioth.debian.org
Tue Jan 26 01:39:36 UTC 2010


Author: benh
Date: Tue Jan 26 01:39:34 2010
New Revision: 15000

Log:
clockevent: Don't remove broadcast device on halt or CPU hotplug (Closes: #566547)

Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/all/clockevents-Add-missing-include.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/all/clockevents-Dont-remove-broadcast-device.patch
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/series/6

Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog	Tue Jan 26 00:32:43 2010	(r14999)
+++ dists/trunk/linux-2.6/debian/changelog	Tue Jan 26 01:39:34 2010	(r15000)
@@ -46,6 +46,8 @@
   * Force distribution=UNRELEASED in debian/bin/test-patches so that it
     works in released source packages
   * Add stable release 2.6.32.6
+  * clockevent: Don't remove broadcast device on halt or CPU hotplug
+    (Closes: #566547)
 
   [ Ian Campbell ]
   * xen: Enable up to 32G of guest memory on i386.

Added: dists/trunk/linux-2.6/debian/patches/bugfix/all/clockevents-Add-missing-include.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/all/clockevents-Add-missing-include.patch	Tue Jan 26 01:39:34 2010	(r15000)
@@ -0,0 +1,37 @@
+From 8e1a928a2ed7e8d5cad97c8e985294b4caedd168 Mon Sep 17 00:00:00 2001
+From: H Hartley Sweeten <hartleys at visionengravers.com>
+Date: Fri, 16 Oct 2009 18:19:01 -0400
+Subject: [PATCH] clockevents: Add missing include to pacify sparse
+
+Include "tick-internal.h" in order to pick up the extern function
+prototype for clockevents_shutdown(). This quiets the following sparse
+build noise:
+
+  warning: symbol 'clockevents_shutdown' was not declared. Should it be static?
+
+Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
+LKML-Reference: <BD79186B4FD85F4B8E60E381CAEE190901E24550 at mi8nycmail19.Mi8.com>
+Reviewed-by: Yong Zhang <yong.zhang0 at gmail.com>
+Cc: johnstul at us.ibm.com
+Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
+---
+ kernel/time/clockevents.c |    2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
+index 05e8aee..20a8920 100644
+--- a/kernel/time/clockevents.c
++++ b/kernel/time/clockevents.c
+@@ -20,6 +20,8 @@
+ #include <linux/sysdev.h>
+ #include <linux/tick.h>
+ 
++#include "tick-internal.h"
++
+ /* The registered clock event devices */
+ static LIST_HEAD(clockevent_devices);
+ static LIST_HEAD(clockevents_released);
+-- 
+1.6.6
+

Added: dists/trunk/linux-2.6/debian/patches/bugfix/all/clockevents-Dont-remove-broadcast-device.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/all/clockevents-Dont-remove-broadcast-device.patch	Tue Jan 26 01:39:34 2010	(r15000)
@@ -0,0 +1,45 @@
+From ea9d8e3f45404d411c00ae67b45cc35c58265bb7 Mon Sep 17 00:00:00 2001
+From: Xiaotian Feng <dfeng at redhat.com>
+Date: Thu, 7 Jan 2010 11:22:44 +0800
+Subject: [PATCH] clockevent: Don't remove broadcast device when cpu is dead
+
+Marc reported that the BUG_ON in clockevents_notify() triggers on his
+system. This happens because the kernel tries to remove an active
+clock event device (used for broadcasting) from the device list.
+
+The handling of devices which can be used as per cpu device and as a
+global broadcast device is suboptimal.
+
+The simplest solution for now (and for stable) is to check whether the
+device is used as global broadcast device, but this needs to be
+revisited.
+
+[ tglx: restored the cpuweight check and massaged the changelog ]
+
+Reported-by: Marc Dionne <marc.c.dionne at gmail.com>
+Tested-by: Marc Dionne <marc.c.dionne at gmail.com>
+Signed-off-by: Xiaotian Feng <dfeng at redhat.com>
+LKML-Reference: <1262834564-13033-1-git-send-email-dfeng at redhat.com>
+Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
+Cc: stable at kernel.org
+---
+ kernel/time/clockevents.c |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
+index 6f740d9..d7395fd 100644
+--- a/kernel/time/clockevents.c
++++ b/kernel/time/clockevents.c
+@@ -259,7 +259,8 @@ void clockevents_notify(unsigned long reason, void *arg)
+ 		cpu = *((int *)arg);
+ 		list_for_each_entry_safe(dev, tmp, &clockevent_devices, list) {
+ 			if (cpumask_test_cpu(cpu, dev->cpumask) &&
+-			    cpumask_weight(dev->cpumask) == 1) {
++			    cpumask_weight(dev->cpumask) == 1 &&
++			    !tick_is_broadcast_device(dev)) {
+ 				BUG_ON(dev->mode != CLOCK_EVT_MODE_UNUSED);
+ 				list_del(&dev->list);
+ 			}
+-- 
+1.6.6
+

Modified: dists/trunk/linux-2.6/debian/patches/series/6
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/6	Tue Jan 26 00:32:43 2010	(r14999)
+++ dists/trunk/linux-2.6/debian/patches/series/6	Tue Jan 26 01:39:34 2010	(r15000)
@@ -30,3 +30,5 @@
 + bugfix/all/e1000e-enhance-fragment-detection.patch
 + bugfix/all/stable/2.6.32.5.patch
 + bugfix/all/stable/2.6.32.6.patch
++ bugfix/all/clockevents-Dont-remove-broadcast-device.patch
++ bugfix/all/clockevents-Add-missing-include.patch



More information about the Kernel-svn-changes mailing list