3.7 RC1
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?
Regards,
K. Y
Quoted 9 lines · K. Y. Srinivasan
While testing 3.7 RC1 I discovered that invoking the function
orderly_poweroff()from an interrupt context will trigger anASSERT(). This was not the case till recently. The comment preceding theorderly_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 thisorderly_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 thatorderly_poweroff()could be invoked from the interrupt context a wrong assumption?
Can you check 3.7-rc2? If that also fails, care to do a 'git bisect' from 3.6 to 3.7-rc1 to find the problem patch?
thanks,
greg k-h
Will do and I will report back.
K. Y
Quoted 31 lines
-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, October 22, 2012 7:34 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: 3.7 RC1Quoted 2 lines · K. Y. Srinivasan
While testing 3.7 RC1 I discovered that invoking the function
orderly_poweroff()Quoted 2 lines
from an interrupt context will trigger an
ASSERT(). This was not the case till recently. The comment preceding theorderly_poweroff()function claims thatthis
Quoted 3 lines
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 codehas
Quoted 2 lines
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 wrongassumption?
Can you check 3.7-rc2? If that also fails, care to do a 'git bisect' from 3.6 to 3.7-rc1 to find the problem patch?
thanks,
greg k-h
Quoted 20 lines
-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, October 22, 2012 7:34 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: 3.7 RC1Quoted 2 lines · K. Y. Srinivasan
While testing 3.7 RC1 I discovered that invoking the function
orderly_poweroff()Quoted 2 lines
from an interrupt context will trigger an
ASSERT(). This was not the case till recently. The comment preceding theorderly_poweroff()function claims thatthis
Quoted 3 lines
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
Quoted 7 lines
has
Quoted 2 lines
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 wrongassumption?
Can you check 3.7-rc2? If that also fails, care to do a 'git bisect' from 3.6 to 3.7-rc1 to find the problem patch?
Looks like this problem is fixed in rc2.
Regards,
K. Y
Quoted 20 lines
-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, October 22, 2012 7:34 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: 3.7 RC1Quoted 2 lines · K. Y. Srinivasan
While testing 3.7 RC1 I discovered that invoking the function
orderly_poweroff()Quoted 2 lines
from an interrupt context will trigger an
ASSERT(). This was not the case till recently. The comment preceding theorderly_poweroff()function claims thatthis
Quoted 3 lines
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
Quoted 7 lines
has
Quoted 2 lines
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 wrongassumption?
Can you check 3.7-rc2? If that also fails, care to do a 'git bisect' from 3.6 to 3.7-rc1 to find the problem patch?
The problem still persists in 3.7-rc2. Sorry for the false positive; we had a script problem that indicated that the problem had gone away. Manual testing has shown that the problem persists. We will investigate it further.
Regards,
K. Y
Quoted 6 lines
thanks,
greg k-h
Quoted 9 lines · K. Y. Srinivasan
While testing 3.7 RC1 I discovered that invoking the function
orderly_poweroff()from an interrupt context will trigger anASSERT(). This was not the case till recently. The comment preceding theorderly_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 thisorderly_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 thatorderly_poweroff()could be invoked from the interrupt context a wrong assumption?
You can't call orderly_poweroff() from interrupt context.
regards,
dan carpenter
Quoted 21 lines
-----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 RC1Quoted 2 lines · K. Y. Srinivasan
While testing 3.7 RC1 I discovered that invoking the function
orderly_poweroff()Quoted 2 lines
from an interrupt context will trigger an
ASSERT(). This was not the case till recently. The comment preceding theorderly_poweroff()function claims thatthis
Quoted 3 lines
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
Quoted 6 lines
has
Quoted 2 lines
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 wrongassumption?
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.
Regards,
K. Y
Quoted 28 lines · KY Srinivasan
Quoted 21 lines
-----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 RC1Quoted 2 lines · K. Y. Srinivasan
While testing 3.7 RC1 I discovered that invoking the function
orderly_poweroff()Quoted 2 lines
from an interrupt context will trigger an
ASSERT(). This was not the case till recently. The comment preceding theorderly_poweroff()function claims thatthis
Quoted 3 lines
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 codeQuoted 6 lines
has
Quoted 2 lines
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 wrongassumption?
You can't call
orderly_poweroff()from interrupt context.
Quoted 10 lines
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 theGFP_ATOMICflag set. Lastly, the behavior
oforderly_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 theorderly_poweroff()function from interrupt context other than the Hyper-V shutdown handler:fsl_hv_shutdown_isr()indrivers/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