svn commit: r325026 - head/sys/cam/ata

Warner Losh imp at bsdimp.com
Thu Oct 26 23:35:16 UTC 2017


On Thu, Oct 26, 2017 at 5:04 PM, Alan Somers <asomers at freebsd.org> wrote:

> On Thu, Oct 26, 2017 at 4:53 PM, Warner Losh <imp at freebsd.org> wrote:
> > Author: imp
> > Date: Thu Oct 26 22:53:49 2017
> > New Revision: 325026
> > URL: https://svnweb.freebsd.org/changeset/base/325026
> >
> > Log:
> >   Always send STANDBY IMMEDIATE when shutting down
> >
> >   To save SMART data and for a drive to understand that it's been nicely
> >   shutdown, we need to send a STANDBY IMMEDIATE. Modify adaspindown to
> >   use a local CCB on the stack. When we're panicing, used
> >   xpt_polled_action rather than cam_periph_runccb so that we can SEND
> >   IMMEDIATE after we've shutdown the scheduler.
> >
> >   Sponsored by: Netflix
> >   Reviewed by: scottl@, gallatin@
> >   Differential Revision: https://reviews.freebsd.org/D12799
> >
> > Modified:
> >   head/sys/cam/ata/ata_da.c
>
> Will this put the drive into a standby state just prior to a warm
> reboot?  That could cause lengthy delays on the new boot while the
> drives spin up.  That behavior caused a problem when the mpr driver
> did it to a JBOD full of 96 SATA drives.  On the new boot, each drive
> spun up one at a time while they were being probed.  Eventually the
> system paniced because run_interrupt_driven_hooks timed out.  With
> mpr, I was able to fix the problem by setting hw.mpr.enable_ssu=0.
>

That's a good question. The standard is silent about what, exactly, the
Standby state means. We already allow this to be disabled, and this commit
doesn't change that. It looks like IDLE IMMEDIATE also forces SMART media
non volatile to be flushed out.

What do you suggest?

Warner


More information about the svn-src-all mailing list