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

Reply via email to