On Fri, Apr 15, 2016 at 3:45 PM, Dmitry Morozovsky <ma...@rinet.ru> wrote:
> On Fri, 15 Apr 2016, Warner Losh wrote: > > > A shorter timeout dramatically cuts the length of time that the > > queue has to be frozen for error recovery. This allows one, > > in theory, to recover the system more quickly after a drive > > goes off into the weeds. > > May be make some more generic changes? Could we detect SSD vs spinning > disk vs > unknown and set timeouts accordigly to the nature of the underlying device? I suppose we could, but keep in mind that this code is part of what helps us at work to more quickly detect and recover from spinning disk failure. The 60s value has always been nuts since even the largest caches on the slowest drives can be flushed in under a second. If there are different defaults for the different drives types and performance profiles, this is almost certainly not going to be one of the ones that would be different. Warner > > > > Warner > > > > > > > On Apr 15, 2016, at 9:23 AM, Ronald Klop <ronald-li...@klop.ws> wrote: > > > > > > Hello, > > > > > > Out of curiosity, what are these big problems? Broken device or other > things (timeouts/triggers/full queues) going on in the kernel? > > > > > > Regards, > > > Ronald. > > > > > > > > > On Fri, 15 Apr 2016 00:13:46 +0200, Warner Losh <i...@freebsd.org> > wrote: > > > > > >> Author: imp > > >> Date: Thu Apr 14 22:13:46 2016 > > >> New Revision: 298011 > > >> URL: https://svnweb.freebsd.org/changeset/base/298011 > > >> erLog: > > >> Add a comment about why the timeout for flush was lowered to 5s. > > >> > > >> Modified: > > >> head/sys/cam/ata/ata_da.c > > >> > > >> Modified: head/sys/cam/ata/ata_da.c > > >> > ============================================================================== > > >> --- head/sys/cam/ata/ata_da.c Thu Apr 14 22:13:44 2016 > (r298010) > > >> +++ head/sys/cam/ata/ata_da.c Thu Apr 14 22:13:46 2016 > (r298011) > > >> @@ -912,6 +912,11 @@ adadump(void *arg, void *virtual, vm_off > > >> if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) { > > >> xpt_setup_ccb(&ccb.ccb_h, periph->path, > CAM_PRIORITY_NORMAL); > > >> + /* > > >> + * Tell the drive to flush its intenral cache. if we > > >> + * can't flush in 5s we have big problems. No need to > > >> + * wait the default 60s to detect problems. > > >> + */ > > >> ccb.ccb_h.ccb_state = ADA_CCB_DUMP; > > >> cam_fill_ataio(&ccb.ataio, > > >> 0, > > >> _______________________________________________ > > >> svn-src-...@freebsd.org mailing list > > >> https://lists.freebsd.org/mailman/listinfo/svn-src-all > > >> To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org > " > > > > > > -- > Sincerely, > D.Marck [DM5020, MCK-RIPE, DM3-RIPN] > [ FreeBSD committer: ma...@freebsd.org ] > ------------------------------------------------------------------------ > *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- ma...@rinet.ru *** > ------------------------------------------------------------------------ > _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"