rpms/kernel/F-7 linux-2.6-singlethread-freezable-workqueues.patch, 1.2, 1.3

Dave Jones (davej) fedora-extras-commits at redhat.com
Sat Jun 2 00:53:11 UTC 2007


Author: davej

Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2245

Modified Files:
	linux-2.6-singlethread-freezable-workqueues.patch 
Log Message:
remove broken diff

linux-2.6-singlethread-freezable-workqueues.patch:

Index: linux-2.6-singlethread-freezable-workqueues.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/linux-2.6-singlethread-freezable-workqueues.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-singlethread-freezable-workqueues.patch	31 May 2007 21:30:02 -0000	1.2
+++ linux-2.6-singlethread-freezable-workqueues.patch	2 Jun 2007 00:52:33 -0000	1.3
@@ -264,198 +264,3 @@
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/
 
-From davej  Tue May 29 14:49:43 2007
-Return-path: <linux-kernel-owner+davej=40kernelslacker.org-S1762748AbXE2SnY at vger.kernel.org>
-X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on
-	gelk.kernelslacker.org
-X-Spam-Level: 
-X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham
-	version=3.1.8
-Envelope-to: davej at kernelslacker.org
-Delivery-date: Tue, 29 May 2007 19:44:00 +0100
-Received: from testure.choralone.org [194.9.77.134]
-	by gelk.kernelslacker.org with IMAP (fetchmail-6.3.6)
-	for <davej at localhost> (single-drop); Tue, 29 May 2007 14:49:43 -0400 (EDT)
-Received: from vger.kernel.org ([209.132.176.167])
-	by testure.choralone.org with esmtp (Exim 4.63)
-	(envelope-from <linux-kernel-owner+davej=40kernelslacker.org-S1762748AbXE2SnY at vger.kernel.org>)
-	id 1Ht6fo-000807-4J
-	for davej at kernelslacker.org; Tue, 29 May 2007 19:44:00 +0100
-Received: (majordomo at vger.kernel.org) by vger.kernel.org via listexpand
-	id S1762748AbXE2SnY (ORCPT <rfc822;davej at kernelslacker.org>);
-	Tue, 29 May 2007 14:43:24 -0400
-Received: (majordomo at vger.kernel.org) by vger.kernel.org id S1765048AbXE2Sle
-	(ORCPT <rfc822;linux-kernel-outgoing>);
-	Tue, 29 May 2007 14:41:34 -0400
-Received: from iolanthe.rowland.org ([192.131.102.54]:54130 "HELO
-	iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
-	with SMTP id S1765028AbXE2Slc (ORCPT
-	<rfc822;linux-kernel at vger.kernel.org>);
-	Tue, 29 May 2007 14:41:32 -0400
-Received: (qmail 17114 invoked by uid 2102); 29 May 2007 14:41:28 -0400
-Received: from localhost (sendmail-bs at 127.0.0.1)
-  by localhost with SMTP; 29 May 2007 14:41:28 -0400
-Date:	Tue, 29 May 2007 14:41:28 -0400 (EDT)
-From:	Alan Stern <stern at rowland.harvard.edu>
-X-X-Sender: stern at iolanthe.rowland.org
-To:	Mark Lord <lkml at rtr.ca>
-cc:	Linus Torvalds <torvalds at linux-foundation.org>,
-	Linux Kernel <linux-kernel at vger.kernel.org>,
-	Greg KH <gregkh at suse.de>,
-	Andrew Morton <akpm at linux-foundation.org>
-Subject: Re: Regression: USB is nfg after suspend/resume(RAM) cycle on Intel
- chipset
-In-Reply-To: <465C64D1.3030604 at rtr.ca>
-Message-ID: <Pine.LNX.4.44L0.0705291428230.3340-100000 at iolanthe.rowland.org>
-MIME-Version: 1.0
-Content-Type: TEXT/PLAIN; charset=US-ASCII
-Sender:	linux-kernel-owner at vger.kernel.org
-Precedence: bulk
-X-Mailing-List:	linux-kernel at vger.kernel.org
-Status: RO
-Content-Length: 4862
-Lines: 142
-
-On Tue, 29 May 2007, Mark Lord wrote:
-
-> Mark Lord wrote:
-> >..
-> > 7ed92f1a149dddc3cb537ccd7441e98adac12c3e USB: make the autosuspend 
-> > workqueue thread freezable
-> > ef7f6c7084b333c7524dcd297e0578d43733a2a2 USB: more autosuspend timer stuff
-> > 
-> > I yanked them both, as they appeared to be releated based on the titles.
-> > Reverting this pair of commits fixes the USB suspend/resume regression.
-> 
-> Okay, just to make it trivial,
-> I've narrowed it down to only this commit from Alan Stern:
-> 
-> 7ed92f1a149dddc3cb537ccd7441e98adac12c3e USB: make the autosuspend workqueue thread freezable
-
-I'm a little surprised; I would have expected the other patch to be the 
-one responsible.  Are you sure you got the right one?
-
-Your symptoms suggest that the ksuspend_usbd and khubd kernel threads
-are in deadlock.  You could verify this by getting an Alt-SysRq-T stack 
-trace of the two threads after resuming.  Andrew Morton saw this 
-happen, under slightly different circumstances, on his system.
-
-If this is indeed the case, the patch below ought to fix your problem.  
-Essentially it replaces calls to flush_workqueue() with
-cancel_sync_work().  I sent it to Andrew last week, but his problem
-occurs only sporadically so it's hard to test.
-
-
-On Tue, 29 May 2007, Linus Torvalds wrote:
-
-> Heh. Have I mentioned how much I *hate* those kernel threads being frozen?
-> 
-> Just for fun, could you try if the patch that just rips out the freezer 
-> calls from the STR code just fixes the problem too (instead of reverting 
-> that commit?)
-
-We'll know for certain after Mark tries this patch.  However at the 
-moment I doubt that freezing the kernel threads has anything to do with 
-the problem.
-
-BTW, you mentioned in an earlier email that for suspend-to-RAM, instead
-of freezing tasks we should freeze I/O.  It's a good idea, but have you
-considered how much overhead it would add?  Even if the necessary
-changes are confined to the subsystem level, just think about what
-would happen for example with char device drivers.
-
-The only common subsystem they share is VFS.  Every entry point into
-VFS would therefore need to test whether a suspend-to-RAM was in
-progress, and if it was, block until the suspend was over.  Each of
-these tests would be on a hot path -- not something we really want to
-do if it is at all avoidable.
-
-Alan Stern
-
-
-
-Index: 2.6.22-rc3/drivers/usb/core/hub.c
-===================================================================
---- 2.6.22-rc3.orig/drivers/usb/core/hub.c
-+++ 2.6.22-rc3/drivers/usb/core/hub.c
-@@ -1158,6 +1158,30 @@ static void release_address(struct usb_d
- 	}
- }
- 
-+#ifdef	CONFIG_USB_SUSPEND
-+
-+static void usb_stop_pm(struct usb_device *udev)
-+{
-+	/* Synchronize with the ksuspend thread to prevent any more
-+	 * autosuspend requests from being submitted, and decrement
-+	 * the parent's count of unsuspended children.
-+	 */
-+	usb_pm_lock(udev);
-+	if (udev->parent && !udev->discon_suspended)
-+		usb_autosuspend_device(udev->parent);
-+	usb_pm_unlock(udev);
-+
-+	/* Stop any autosuspend requests already submitted */
-+	cancel_rearming_delayed_work(&udev->autosuspend);
-+}
-+
-+#else
-+
-+static inline void usb_stop_pm(struct usb_device *udev)
-+{ }
-+
-+#endif
-+
- /**
-  * usb_disconnect - disconnect a device (usbcore-internal)
-  * @pdev: pointer to device being disconnected
-@@ -1224,13 +1248,7 @@ void usb_disconnect(struct usb_device **
- 	*pdev = NULL;
- 	spin_unlock_irq(&device_state_lock);
- 
--	/* Decrement the parent's count of unsuspended children */
--	if (udev->parent) {
--		usb_pm_lock(udev);
--		if (!udev->discon_suspended)
--			usb_autosuspend_device(udev->parent);
--		usb_pm_unlock(udev);
--	}
-+	usb_stop_pm(udev);
- 
- 	put_device(&udev->dev);
- }
-Index: 2.6.22-rc3/drivers/usb/core/usb.c
-===================================================================
---- 2.6.22-rc3.orig/drivers/usb/core/usb.c
-+++ 2.6.22-rc3/drivers/usb/core/usb.c
-@@ -184,10 +184,6 @@ static void usb_release_dev(struct devic
- 
- 	udev = to_usb_device(dev);
- 
--#ifdef	CONFIG_USB_SUSPEND
--	cancel_delayed_work(&udev->autosuspend);
--	flush_workqueue(ksuspend_usb_wq);
--#endif
- 	usb_destroy_configuration(udev);
- 	usb_put_hcd(bus_to_hcd(udev->bus));
- 	kfree(udev->product);
-Index: 2.6.22-rc3/drivers/usb/core/hcd.c
-===================================================================
---- 2.6.22-rc3.orig/drivers/usb/core/hcd.c
-+++ 2.6.22-rc3/drivers/usb/core/hcd.c
-@@ -1681,7 +1681,7 @@ void usb_remove_hcd(struct usb_hcd *hcd)
- 	spin_unlock_irq (&hcd_root_hub_lock);
- 
- #ifdef CONFIG_PM
--	flush_workqueue(ksuspend_usb_wq);
-+	cancel_work_sync(&hcd->wakeup_work);
- #endif
- 
- 	mutex_lock(&usb_bus_list_lock);
-
--
-To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
-the body of a message to majordomo at vger.kernel.org
-More majordomo info at  http://vger.kernel.org/majordomo-info.html
-Please read the FAQ at  http://www.tux.org/lkml/
-




More information about the scm-commits mailing list