Hi Garrett, > I think the framework should guarantee that the kernel is single > threaded at the point that quiesce is called, and that there will be no > subsequent IO performed to the device. I suspect that this guarantee is > already in place, but maybe the project team can clarify.
We would like to call quiesce in the single-threaded environment. That was original design that you reviewed. However, once we are in a single-threaded environment, we must not grab locks. When I contacted various driver owners, they all said that it's very difficult to implement quiesce() in a lock-free manner. As a result, I have moved the quiesce() invocation to immediately before the system becomes single-threaded. If driver owners can step up and provide lock-free, no-memory-allocation, do-the-bare-minimal quiesce() implementations, that might solve the panic reboot problem as well. Thanks, Sherry -- Sherry Moore, Solaris Core Kernel http://blogs.sun.com/sherrym
