Skip site navigation (1)Skip section navigation (2)
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>