Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Aug 2003 18:36:11 -0400 
From:      Don Bowman <don@sandvine.com>
To:        Dave Dolson <ddolson@sandvine.com>, "'freebsd-scsi@freebsd.org'" <freebsd-scsi@freebsd.org>
Subject:   RE: Swapping deadlock due to aic/scsi errors?
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C85337027421B3@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help
> From: Dave Dolson [mailto:ddolson@sandvine.com]
 ...
> > 
> > The "lost command" is supposed to be detected by the timeout
> > handler in the ahd driver.  The timeout handler just forces
> > a bus reset which should cause the command to be returned to
> > the SCSI layer and then retried.  It's not clear to me why
> > this might not be happening, but the ahd driver was relatively
> > green in 4.7 and you may just be tripping over a known (and
> > later corrected) bug manifesting itself in an unusual way.
> 
> Are you referring to the timeout handler ahd_timeout() ?
> Are the commmands retried from ahd_reset_channel() ?
> (It looks more like they're simply aborted.)
> 
> Aside: Am I correct in believing that ahd_execute_scb() is called 
> for every command to the drive?

It appears that if we set vm.swap_async_max=64 with sysctl, that 
the problem may no longer be reproducible. The default value seems
to be 4. The system is deadlocking looking for these async buffers.

Does this make sense?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE045D4D9F7AED4CBFF1B3B813C85337027421B3>