From: Michael Reed <mdr@sgi.com>
To: Michael Reed <mdr@sgi.com>
Cc: "Moore, Eric" <Eric.Moore@lsil.com>,
James Bottomley <James.Bottomley@SteelEye.com>,
linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: [REPOST][PATCH 1/6] mpt fusion - fibre channel target discovery prematurely terminates
Date: Thu, 15 Jun 2006 12:49:45 -0500 [thread overview]
Message-ID: <44919DB9.1060002@sgi.com> (raw)
In-Reply-To: <44917FB9.3010604@sgi.com>
There's another problem. The routines doing the wakeup don't have
access to the sleep variable so the thread sleeps forever.
I'll summarize the problems in the original patch so they don't get
lost.
1) sleep variable must be initialized to zero before sleep
2) sleep variable must be set non-zero before wakeup
3) wakeup should be in mpt_free_msg_frame, conditioned
on whether frames are exhausted, instead of in
mpt_put_msg_frame(). (keep mpt_ioc_activate())
That's probably all I can do on this today. I'll be OOTO tomorrow
and next week.
Mike
Michael Reed wrote:
> Thanks for finding the problem. I'll rework James' patch to take
> into account your comments and give it a try.
>
> Mike
>
>
> Moore, Eric wrote:
>> On Thursday, June 15, 2006 8:51 AM, Michael Reed wrote:
>>
>>>> What overhead? We don't read config pages on every I/O. James
>>>> patch only effects the reading of config pages when there is
>>>> a host reset.
>>> I think you're mistaken about James' patch.
>>>
>>> Doesn't every i/o use a message frame? James' patch to sleep on frame
>>> exhaustion requires a wakeup every time a msg frame is released,
>>> which is performed at the end of mpt_put_msg_frame(). Am I missing
>>> something?
>>>
>>>
>> Ok, my mistake. I overlooked the wake_up() at the end of
>> mpt_put_msg_frame().
>>
>> BTW, this is incorrect. The wake_up() should been in
>> mpt_free_msg_frame(),
>> instead of mpt_put_msg_frame(). The _put_ function is sending the mf
>> to
>> the firmware. The mf is not freed untill the command is completd by
>> firmware,
>> and the _free_function is called. Meaning this issue can be solved by
>> moving
>> wake_up() to mpt_free_msg_frame(), and only calling wake_up() when the
>> list_empty(&ioc->FreeQ) was empty going into this call.
>>
>> Eric Moore
>>
> -
> 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
>
>
next prev parent reply other threads:[~2006-06-15 17:49 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-15 15:22 [REPOST][PATCH 1/6] mpt fusion - fibre channel target discovery prematurely terminates Moore, Eric
2006-06-15 15:41 ` Michael Reed
2006-06-15 17:49 ` Michael Reed [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-06-14 22:27 Moore, Eric
2006-06-15 14:51 ` Michael Reed
2006-05-24 20:06 Michael Reed
2006-05-29 17:38 ` James Bottomley
2006-06-14 18:59 ` Michael Reed
2006-06-15 15:39 ` 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=44919DB9.1060002@sgi.com \
--to=mdr@sgi.com \
--cc=Eric.Moore@lsil.com \
--cc=James.Bottomley@SteelEye.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).