[kernel] r8341 - in dists/sid/linux-2.6/debian: .
patches/bugfix/sparc patches/series
Jurij Smakov
jurij-guest at alioth.debian.org
Fri Mar 9 15:13:44 CET 2007
Author: jurij-guest
Date: Fri Mar 9 14:13:44 2007
New Revision: 8341
Added:
dists/sid/linux-2.6/debian/patches/bugfix/sparc/kenvctrld-cpu-consumption.patch
Modified:
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/patches/series/12
Log:
Add bugfix/sparc/kenvctrld-cpu-consumption.patch which fixes kenvctrld
kernel process so that it does not consume 100% CPU.
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog (original)
+++ dists/sid/linux-2.6/debian/changelog Fri Mar 9 14:13:44 2007
@@ -14,6 +14,9 @@
* Add bugfix/sparc/eth1394-unaligned-access.patch to fix unaligned
memory accesses in the Firewire eth1394 driver. Thanks to Emanuele
Roca for the patch. Closes: #412749.
+ * Add bugfix/sparc/kenvctrld-cpu-consumption.patch to fix kenvctrld
+ process, so that it does not consume 100% CPU. Thanks to Joerg Friedrich
+ for the patch, and to J. J. Green and Richard Mortimer for testing.
-- Steve Langasek <vorlon at debian.org> Mon, 5 Mar 2007 00:25:35 -0800
Added: dists/sid/linux-2.6/debian/patches/bugfix/sparc/kenvctrld-cpu-consumption.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/sparc/kenvctrld-cpu-consumption.patch Fri Mar 9 14:13:44 2007
@@ -0,0 +1,43 @@
+Author : Joerg Friedrich
+Date : Thu, 15 Feb 2007 22:08:55 +0100
+Message-ID : <20070215210855.GA22572 at stardust.friedrich-kn.de>
+Status : acked by David Miller, pushed upstream, confirmed working
+Description : fixes kenvctrld so it does not consume 100% CPU
+
+diff -aur a/drivers/sbus/char/bbc_i2c.c b/drivers/sbus/char/bbc_i2c.c
+--- a/drivers/sbus/char/bbc_i2c.c 2006-09-20 06:42:06.000000000 +0300
++++ b/drivers/sbus/char/bbc_i2c.c 2007-03-08 08:14:46.000000000 +0200
+@@ -187,19 +187,18 @@
+ bp->waiting = 1;
+ add_wait_queue(&bp->wq, &wait);
+ while (limit-- > 0) {
+- u8 val;
++ long val;
+
+- set_current_state(TASK_INTERRUPTIBLE);
+- *status = val = readb(bp->i2c_control_regs + 0);
+- if ((val & I2C_PCF_PIN) == 0) {
++ val = wait_event_interruptible_timeout(bp->wq,
++ (((*status = readb(bp->i2c_control_regs + 0)) & I2C_PCF_PIN) == 0),
++ msecs_to_jiffies(250));
++ if ((val != -ERESTARTSYS) && (val > 0)) {
+ ret = 0;
+ break;
+ }
+- msleep_interruptible(250);
+ }
+ remove_wait_queue(&bp->wq, &wait);
+ bp->waiting = 0;
+- current->state = TASK_RUNNING;
+
+ return ret;
+ }
+@@ -340,7 +339,7 @@
+ */
+ if (bp->waiting &&
+ !(readb(bp->i2c_control_regs + 0x0) & I2C_PCF_PIN))
+- wake_up(&bp->wq);
++ wake_up_interruptible(&bp->wq);
+
+ return IRQ_HANDLED;
+ }
Modified: dists/sid/linux-2.6/debian/patches/series/12
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/12 (original)
+++ dists/sid/linux-2.6/debian/patches/series/12 Fri Mar 9 14:13:44 2007
@@ -1,2 +1,3 @@
+ bugfix/sparc/e450-boot-failure.patch
+ bugfix/sparc/eth1394-unaligned-access.patch
++ bugfix/sparc/kenvctrld-cpu-consumption.patch
More information about the Kernel-svn-changes
mailing list