linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Reed <mdr@sgi.com>
To: "Moore, Eric" <Eric.Moore@lsil.com>,
	James Bottomley <James.Bottomley@SteelEye.com>
Cc: Michael Reed <mdr@sgi.com>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	Jeremy Higdon <jeremy@sgi.com>, Gary Hagensen <gwh@sgi.com>
Subject: Re: [PATCH 1/6] mpt fusion - fibre channel target discovery prematurely terminates
Date: Wed, 24 May 2006 13:48:19 -0500	[thread overview]
Message-ID: <4474AA73.900@sgi.com> (raw)
In-Reply-To: <447205A7.2020600@sgi.com>

I've done some investigation into WHY mpt_config() is returning EAGAIN
during my board reset testing.  It's not because there are no message
frames, it is because mpt_get_msg_frame() is checking ioc->active and
finding it zero.  ioc->active is set to zero in mpt_do_ioc_recovery()
and it remains zero until the board reset is complete.  This takes
some time.

With this new understanding, I've tested an alternate bit of code.
The fc routine in question examines ioc->active, and if zero, it exits.
The existing code in the driver already reschedules the work once
the ioc becomes active.  So, I can get rid of the sleep.  (Yeah.)

Thank you for making me re-examine this issue.  A better fix was
^^^^^^^^^
available.

I'll repost the patches later today.

Mike



Michael Reed wrote:
> 
> Moore, Eric wrote:
>> On Monday, May 22, 2006 12:06 PM,  Michael Reed wrote:
>>> Changing mpt_config() to sleep changes the behavior in that 
>>> EAGAIN might no longer
>>> be returned.  lan, ctl, sas, spi, and fc all make use of 
>>> mpt_config().  This may be
>>> non-trivial with regard to testing.  Or it may not.  And, as 
>>> James points out,
>>> we have to assure that the caller is in a context which can sleep.
>>>
>> The caller context of mpt_config() *MUST* be able to sleep.   
>> Towards this end of this function we call wait_event().  This is
>> because we are waiting on the firmware reply.  If the fw reply
>> doesn't come, then watchdog timer kicks in, then mpt_timer_expired 
>> is called.
>>
>>
>>> Can we leave the interface alone for the moment and accept the patch
>>> as written?  Then, look at changing mpt_config() and the evaluate the
>>> testing burden that the change might impose?
>>>
>> James?
>>
>>> My vested interest is in getting the functionality into certain
>>> distros of interest.  I have no problem with rearchitecting the
>>> patchset as described above.  I'm just concerned with the timing.
>>> I suspect that the testing required will push the patch's acceptance
>>> beyond my potential window of opportunity.  As written, the change
>>> is confined to fibre channel so will not potentially introduce
>>> regressions into the other drivers.
>>>
>> How?
>>
>> I doubt there would be regressions.  We would need to implement timeout
>> on not receiving a mf, then return EAGAIN as we do today.
> 
> Then is there a reason to implement the change at all?  If the caller
> can still receive EAGAIN, the caller still has to handle it.
> Or just view it as an opaque error as callers do today.
> 
> Mike
> 
>> Eric 
>>
>>
>> -
>> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

  reply	other threads:[~2006-05-24 18:48 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-22 18:15 [PATCH 1/6] mpt fusion - fibre channel target discovery prematurely terminates Moore, Eric
2006-05-22 18:40 ` Michael Reed
2006-05-24 18:48   ` Michael Reed [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-05-22 23:09 Moore, Eric
2006-05-22 17:45 Moore, Eric
2006-05-22 17:57 ` James Bottomley
2006-05-22 18:05 ` Michael Reed
2006-05-19 23:41 Moore, Eric
2006-05-18 19:59 Michael Reed
2006-05-20 15:33 ` James Bottomley
2006-05-22 17:31   ` Michael Reed
2006-05-22 17:34     ` Michael Reed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4474AA73.900@sgi.com \
    --to=mdr@sgi.com \
    --cc=Eric.Moore@lsil.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=gwh@sgi.com \
    --cc=jeremy@sgi.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).