Thread (92 messages) 92 messages, 9 authors, 2012-12-15

Re: [RFC PATCH v3 0/3] acpi: Introduce prepare_remove device operation

From: Jiang Liu <hidden>
Date: 2012-12-06 17:10:42
Also in: linux-acpi, lkml

On 11/30/2012 05:25 AM, Rafael J. Wysocki wrote:
On Thursday, November 29, 2012 01:56:17 PM Toshi Kani wrote:
quoted
On Thu, 2012-11-29 at 13:39 -0700, Toshi Kani wrote:
quoted
On Thu, 2012-11-29 at 21:30 +0100, Rafael J. Wysocki wrote:
quoted
On Thursday, November 29, 2012 10:03:12 AM Toshi Kani wrote:
quoted
On Thu, 2012-11-29 at 11:15 +0100, Rafael J. Wysocki wrote:
quoted
On Wednesday, November 28, 2012 11:41:36 AM Toshi Kani wrote:
quoted
1. Validate phase - Verify if the request is a supported operation.  All
known restrictions are verified at this phase.  For instance, if a
hot-remove request involves kernel memory, it is failed in this phase.
Since this phase makes no change, no rollback is necessary to fail.  
Actually, we can't do it this way, because the conditions may change between
the check and the execution.  So the first phase needs to involve execution
to some extent, although only as far as it remains reversible.
For memory hot-remove, we can check if the target memory ranges are
within ZONE_MOVABLE.  We should not allow user to change this setup
during hot-remove operation.  Other things may be to check if a target
node contains cpu0 (until it is supported), the console UART (assuming
we cannot delete it), etc.  We should avoid doing rollback as much as we
can.
Yes, we can make some checks upfront as an optimization and fail early if
the conditions are not met, but for correctness we need to repeat those
checks later anyway.  Once we've decided to go for the eject, the conditions
must hold whatever happens.
Agreed.
BTW, it is not an optimization I am after for this phase.  There are
many error cases during hot-plug operations.  It is difficult to assure
that rollback is successful for every error condition in terms of
testing and maintaining the code.  So, it is easier to fail beforehand
when possible.
OK, but as I said it is necessary to ensure that the conditions will be met
in the next phases as well if we don't fail.
Yes, that's absolutely an requirement. Otherwise QA people will call you
when doing stress tests.
Thanks,
Rafael
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help