Date: Mon, 18 Apr 2011 22:32:15 +0300 From: Alexander Motin <mav@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r220777 - head/sys/dev/ahci Message-ID: <4DAC91BF.7050102@FreeBSD.org> In-Reply-To: <201104181306.58172.jhb@freebsd.org> References: <201104181334.p3IDYVDh073304@svn.freebsd.org> <201104181306.58172.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 18.04.2011 20:06, John Baldwin wrote: > On Monday, April 18, 2011 9:34:31 am Alexander Motin wrote: >> Author: mav >> Date: Mon Apr 18 13:34:31 2011 >> New Revision: 220777 >> URL: http://svn.freebsd.org/changeset/base/220777 >> >> Log: >> - Tune different wait loops to cut some more milliseconds from reset time. >> - Do not call ahci_start() before device signature received. It is required >> by the specification and caused non-fatal reset timeouts on AMD chipsets. > > Do you have to use DELAY() here rather than a blocking sleep via pause()? At the moment I would say yes. These paths are called from CAM while holding SIM lock. CAM may not like if I drop the lock in the middle of the call. Also during recovery those functions could be called from the callout and interrupt threads. In that case even dropping the lock won't allow thread to sleep. I will think more about possibilities to refactor the code to replace some DELAYs with callouts, but requirement to keep functionality in polled mode doesn't make the task easier. -- Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DAC91BF.7050102>