On Tue, Oct 23, 2012 at 02:24:58PM +0000, KY Srinivasan wrote: > > > > -----Original Message----- > > From: Dan Carpenter [mailto:[email protected]] > > Sent: Tuesday, October 23, 2012 1:47 AM > > To: KY Srinivasan > > Cc: [email protected]; [email protected]; > > [email protected]; [email protected]; [email protected]; > > [email protected] > > Subject: Re: 3.7 RC1 > > > > On Mon, Oct 22, 2012 at 04:37:45PM -0700, K. Y. Srinivasan wrote: > > > > > > While testing 3.7 RC1 I discovered that invoking the function > > orderly_poweroff() > > > from an interrupt context will trigger an ASSERT(). This was not the case > > > till > > > recently. The comment preceding the orderly_poweroff() function claims > > > that > > this > > > function can be invoked from any context and in the current Hyper-V util > > > driver, > > > we support host-driven orderly shut down of the guest by invoking this > > > orderly_poweroff() function in the context of the message callback. This > > > code > > has > > > been working for a very long time and it is broken now. Is my assumption > > > that > > > orderly_poweroff() could be invoked from the interrupt context a wrong > > assumption? > > > > You can't call orderly_poweroff() from interrupt context. > > Thanks Dan; I am curious to understand the basis for your assertion. > As I noted earlier the documentation for this function clearly says it can > be called from any context. Furthermore, __orderly_poweroff(), the helper > function allocates memory with the GFP_ATOMIC flag set. Lastly, the behavior > of orderly_poweroff() has been such that this function could be called from > interrupt context > for a very long time and something has changed now. For what it is worth, > there are other users in > the kernel (in 3.7 RC1) that are invoking the orderly_poweroff() function > from interrupt > context other than the Hyper-V shutdown handler: fsl_hv_shutdown_isr() in > drivers/virt/fsl_hypervisor.c. > I suspect there are other users as well that have made this similar > assumption. >
Aw crap. I was wrong. Sorry about that. regards, dan carpenter _______________________________________________ devel mailing list [email protected] http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
