[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