From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ogre.sisk.pl ([193.178.161.156]:42068 "EHLO ogre.sisk.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752211Ab2HDTlq (ORCPT ); Sat, 4 Aug 2012 15:41:46 -0400 From: "Rafael J. Wysocki" To: Ming Lei Subject: Re: Do we need asynchronous pm_runtime_get()? (was: Re: bisected regression ...) Date: Sat, 4 Aug 2012 21:47:25 +0200 Cc: Alan Stern , linux-pci@vger.kernel.org, USB list , Linux PM list References: <201208022326.31178.rjw@sisk.pl> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Message-Id: <201208042147.25845.rjw@sisk.pl> Sender: linux-pci-owner@vger.kernel.org List-ID: On Friday, August 03, 2012, Ming Lei wrote: > On Fri, Aug 3, 2012 at 10:20 AM, Alan Stern wrote: > > On Thu, 2 Aug 2012, Rafael J. Wysocki wrote: > > > Hmmm. You'd probably want a version that does a "get" at the same > > time. I suppose you would call func directly if the device was already > > resumed, without going through the workqueue? > > Maybe it isn't good, the 'func' might not be run in the current context > (irq context or some spinlock is held). Then I'd say don't use this interface. If you have code that needs to be run in a different context, then you have to use a work item (or equivalent) anyway and you can do a synchronous runtime resume from there. The problem we want to address here is when there's code that should be run as soon as the device is active, preferably _without_ a context switch. Thanks, Rafael