linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Milburn <dmilburn@redhat.com>
To: Audio Haven <audiohaven@gmail.com>
Cc: linux-scsi@vger.kernel.org, James.Bottomley@suse.de,
	sgruszka@redhat.com, satyasrinivasp@hcl.in, jeff@garzik.org
Subject: Re: [PATCH] mvsas: mvs_lu_reset iterates phy num times when releasing task
Date: Tue, 10 Aug 2010 16:22:31 -0500	[thread overview]
Message-ID: <4C61C317.8010609@redhat.com> (raw)
In-Reply-To: <AANLkTink9DyvHmgRDDe8WqwTJhAVX=DFQ8_b-U6Fy+Fi@mail.gmail.com>

Audio Haven wrote:
> Hello David,

Hello Frederic,

> 
> Does this patch solve the Unplug Notice issues ?

No, it is not directly related to the problem you are seeing.

> 
> When copying lots of large video files in sequence to a 6 TB XFS
> filesystem on top of a 8 TB software raid6 set, I frequently see my
> copy (over samba) being stalled for a while, then the following is
> reported:
> 
> drivers/scsi/mvsas/mv_sas.c 1701:<7>mv_abort_task()
> mvi=ffff88003d1c0000 task=ffff880004285080 slot=ffff88003d1de478
> slot_idx=x1

The abort task is initiated from the error handler.

> drivers/scsi/mvsas/mv_sas.c 1632:mvs_query_task:rc= 5
> drivers/scsi/mvsas/mv_sas.c 2081:port 4 ctrl sts=0x89800.
> drivers/scsi/mvsas/mv_sas.c 2083:Port 4 irq sts = 0x1001
> drivers/scsi/mvsas/mv_sas.c 2109:phy4 Unplug Notice

Here the driver read interrupt status which showed

PHYEV_POOF (phy ready from 1 -> 0) | PHYEV_RDY_CH (phy ready
changed state)

Then mvs_is_phy_ready reports phy is not ready resulting
in the "Unplug Notice".

David

> drivers/scsi/mvsas/mv_sas.c 2081:port 4 ctrl sts=0x199800.
> drivers/scsi/mvsas/mv_sas.c 2083:Port 4 irq sts = 0x1081
> drivers/scsi/mvsas/mv_sas.c 2081:port 4 ctrl sts=0x199800.
> drivers/scsi/mvsas/mv_sas.c 2083:Port 4 irq sts = 0x10000
> drivers/scsi/mvsas/mv_sas.c 2136:notify plug in on phy[4]
> drivers/scsi/mvsas/mv_sas.c 1224:port 4 attach dev info is 4
> drivers/scsi/mvsas/mv_sas.c 1226:port 4 attach sas addr is 4
> drivers/scsi/mvsas/mv_sas.c 378:phy 4 byte dmaded.
> drivers/scsi/mvsas/mv_sas.c 1586:mvs_I_T_nexus_reset for device[4]:rc= 0
> ata13: translated ATA stat/err 0x01/04 to SCSI SK/ASC/ASCQ 0xb/00/00
> ata13: status=0x01 { Error }
> ata13: error=0x04 { DriveStatusError }
> 
> I'm using the SuperMicro AOC-SASLP-MV8 to control 8 1TB disks, which
> are never physically unplugged. Used kernel is 2.6.35.
> Raid never breaks so no data loss occurs, but the samba copy
> frequently breaks when the above error occurs, so copying always needs
> a double check, which is quite annoying.
> 
> Best regards,
> 
> Frederic Vanden Poel
> 
> 
> On Fri, Aug 6, 2010 at 6:16 PM, David Milburn <dmilburn@redhat.com> wrote:
>> mvs_lu_reset should not call mvs_release_task phy number of times,
>> each phy is handled in mvs_release_task.
>>
>> Signed-off-by: David Milburn <dmilburn@redhat.com>
>> Cc: Stanislaw Gruszka <sgruszka@redhat.com>
>> Cc: Srinivas <satyasrinivasp@hcl.in>
>> Cc: Andy Yan <ayan@marvell.com>
>> ---
>>  drivers/scsi/mvsas/mv_sas.c |    6 ++----
>>  1 files changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/scsi/mvsas/mv_sas.c b/drivers/scsi/mvsas/mv_sas.c
>> index adedaa9..013ab8d 100644
>> --- a/drivers/scsi/mvsas/mv_sas.c
>> +++ b/drivers/scsi/mvsas/mv_sas.c
>> @@ -1551,7 +1551,7 @@ static int mvs_debug_I_T_nexus_reset(struct domain_device *dev)
>>  int mvs_lu_reset(struct domain_device *dev, u8 *lun)
>>  {
>>        unsigned long flags;
>> -       int i, phyno[WIDE_PORT_MAX_PHY], num , rc = TMF_RESP_FUNC_FAILED;
>> +       int rc = TMF_RESP_FUNC_FAILED;
>>        struct mvs_tmf_task tmf_task;
>>        struct mvs_device * mvi_dev = dev->lldd_dev;
>>        struct mvs_info *mvi = mvi_dev->mvi_info;
>> @@ -1560,10 +1560,8 @@ int mvs_lu_reset(struct domain_device *dev, u8 *lun)
>>        mvi_dev->dev_status = MVS_DEV_EH;
>>        rc = mvs_debug_issue_ssp_tmf(dev, lun, &tmf_task);
>>        if (rc == TMF_RESP_FUNC_COMPLETE) {
>> -               num = mvs_find_dev_phyno(dev, phyno);
>>                spin_lock_irqsave(&mvi->lock, flags);
>> -               for (i = 0; i < num; i++)
>> -                       mvs_release_task(mvi, dev);
>> +               mvs_release_task(mvi, dev);
>>                spin_unlock_irqrestore(&mvi->lock, flags);
>>        }
>>        /* If failed, fall-through I_T_Nexus reset */
>> --
>> 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:[~2010-08-10 21:22 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-06 16:16 [PATCH] mvsas: mvs_lu_reset iterates phy num times when releasing task David Milburn
2010-08-06 17:21 ` Konstantinos Skarlatos
2010-08-06 19:01   ` David Milburn
2010-08-09  8:17     ` Konstantinos Skarlatos
2010-09-03 22:13   ` David Milburn
2010-09-04 19:04     ` Konstantinos Skarlatos
2010-09-08 10:53     ` Konstantinos Skarlatos
2010-09-09 10:49       ` Konstantinos Skarlatos
2010-09-09 14:13         ` David Milburn
2010-09-11 15:57           ` Konstantinos Skarlatos
2010-09-15 13:49             ` David Milburn
2010-09-20 21:38               ` Konstantinos Skarlatos
2010-09-11 15:05         ` Konstantinos Skarlatos
2010-08-07  8:26 ` Jeff Garzik
2010-08-10 19:10 ` Audio Haven
2010-08-10 21:22   ` David Milburn [this message]

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=4C61C317.8010609@redhat.com \
    --to=dmilburn@redhat.com \
    --cc=James.Bottomley@suse.de \
    --cc=audiohaven@gmail.com \
    --cc=jeff@garzik.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=satyasrinivasp@hcl.in \
    --cc=sgruszka@redhat.com \
    /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).