[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