All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>,
	Meelis Roos <mroos@linux.ee>,
	linux-scsi@vger.kernel.org, sparclinux@vger.kernel.org,
	Matthew Wilcox <matthew@wil.cx>,
	linux-parisc@vger.kernel.org, Christoph Hellwig <hch@lst.de>
Subject: Re: Sym2 scsi hang on boot on sparc64
Date: Tue, 19 Aug 2014 22:30:55 +0200	[thread overview]
Message-ID: <20140819203054.GA24325@ravnborg.org> (raw)
In-Reply-To: <20140819201748.GC4885@drone.musicnaut.iki.fi>

On Tue, Aug 19, 2014 at 11:17:48PM +0300, Aaro Koskinen wrote:
> Hi,
> 
> On Tue, Aug 19, 2014 at 09:47:35AM -0500, James Bottomley wrote:
> > On Tue, 2014-08-19 at 17:37 +0300, Meelis Roos wrote:
> > > > On Tue, 2014-08-19 at 14:25 +0300, Meelis Roos wrote:
> > > > > 3.16 scsi worked fine, 3.17-rc1 misbehaves on 3 of my sparc64 test 
> > > > > machines. E220R and E420R are with onboard 5c3875, V210 is with onboarc 
> > > > > 53c1010 and all behave the same. Any ideas whre to dig deeper? bisection 
> > > > > might be nontrivial, because of sparc64 changes that are OK on 3.17-rc1 
> > > > > again - but is possible if nothing else helps.
> > > > 
> > > > We've got a parisc with an 875 as a root SCSI bus ... I haven't got
> > > > around to building for it yet, but I might find time to try today.
> > > 
> > > Same on parisc:
> > > 
> > > sym0: <1010-66> rev 0x1 at pci 0000:20:01.0 irq 22
> > > sym0: PA-RISC Firmware, ID 7, Fast-80, LVD, parity checking
> > > sym0: SCSI BUS has been reset.
> > > scsi host0: sym-2.2.3
> > > random: nonblocking pool is initialized
> > > 
> > > and hangs here. So hopefully it is reproducible for you.
> > 
> > And also independent of the sparc changes.  The only other change in the
> > window you quote is 64 bit luns.
> 
> Bisection (on PA-RISC) points to:
> 
> 71e75c97f97a9645d25fbf3d8e4165a558f18747 is the first bad commit
> commit 71e75c97f97a9645d25fbf3d8e4165a558f18747
> Author: Christoph Hellwig <hch@lst.de>
> Date:   Fri Apr 11 19:07:01 2014 +0200
> 
>     scsi: convert device_busy to atomic_t

I guess you need this fix:

diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 9c44392..ce62e87 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1774,7 +1774,7 @@ static void scsi_request_fn(struct request_queue *q)
 	blk_requeue_request(q, req);
 	atomic_dec(&sdev->device_busy);
 out_delay:
-	if (atomic_read(&sdev->device_busy) && !scsi_device_blocked(sdev))
+	if (!atomic_read(&sdev->device_busy) && !scsi_device_blocked(sdev))
 		blk_delay_queue(q, SCSI_QUEUE_DELAY);
 }


James already sent it to Linus.

	Sam

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>,
	Meelis Roos <mroos@linux.ee>,
	linux-scsi@vger.kernel.org, sparclinux@vger.kernel.org,
	Matthew Wilcox <matthew@wil.cx>,
	linux-parisc@vger.kernel.org, Christoph Hellwig <hch@lst.de>
Subject: Re: Sym2 scsi hang on boot on sparc64
Date: Tue, 19 Aug 2014 20:30:55 +0000	[thread overview]
Message-ID: <20140819203054.GA24325@ravnborg.org> (raw)
In-Reply-To: <20140819201748.GC4885@drone.musicnaut.iki.fi>

On Tue, Aug 19, 2014 at 11:17:48PM +0300, Aaro Koskinen wrote:
> Hi,
> 
> On Tue, Aug 19, 2014 at 09:47:35AM -0500, James Bottomley wrote:
> > On Tue, 2014-08-19 at 17:37 +0300, Meelis Roos wrote:
> > > > On Tue, 2014-08-19 at 14:25 +0300, Meelis Roos wrote:
> > > > > 3.16 scsi worked fine, 3.17-rc1 misbehaves on 3 of my sparc64 test 
> > > > > machines. E220R and E420R are with onboard 5c3875, V210 is with onboarc 
> > > > > 53c1010 and all behave the same. Any ideas whre to dig deeper? bisection 
> > > > > might be nontrivial, because of sparc64 changes that are OK on 3.17-rc1 
> > > > > again - but is possible if nothing else helps.
> > > > 
> > > > We've got a parisc with an 875 as a root SCSI bus ... I haven't got
> > > > around to building for it yet, but I might find time to try today.
> > > 
> > > Same on parisc:
> > > 
> > > sym0: <1010-66> rev 0x1 at pci 0000:20:01.0 irq 22
> > > sym0: PA-RISC Firmware, ID 7, Fast-80, LVD, parity checking
> > > sym0: SCSI BUS has been reset.
> > > scsi host0: sym-2.2.3
> > > random: nonblocking pool is initialized
> > > 
> > > and hangs here. So hopefully it is reproducible for you.
> > 
> > And also independent of the sparc changes.  The only other change in the
> > window you quote is 64 bit luns.
> 
> Bisection (on PA-RISC) points to:
> 
> 71e75c97f97a9645d25fbf3d8e4165a558f18747 is the first bad commit
> commit 71e75c97f97a9645d25fbf3d8e4165a558f18747
> Author: Christoph Hellwig <hch@lst.de>
> Date:   Fri Apr 11 19:07:01 2014 +0200
> 
>     scsi: convert device_busy to atomic_t

I guess you need this fix:

diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 9c44392..ce62e87 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1774,7 +1774,7 @@ static void scsi_request_fn(struct request_queue *q)
 	blk_requeue_request(q, req);
 	atomic_dec(&sdev->device_busy);
 out_delay:
-	if (atomic_read(&sdev->device_busy) && !scsi_device_blocked(sdev))
+	if (!atomic_read(&sdev->device_busy) && !scsi_device_blocked(sdev))
 		blk_delay_queue(q, SCSI_QUEUE_DELAY);
 }


James already sent it to Linus.

	Sam

  reply	other threads:[~2014-08-19 20:30 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-19 11:25 Sym2 scsi hang on boot on sparc64 Meelis Roos
2014-08-19 11:25 ` Meelis Roos
2014-08-19 12:34 ` James Bottomley
2014-08-19 12:34   ` James Bottomley
2014-08-19 13:13   ` Meelis Roos
2014-08-19 13:13     ` Meelis Roos
2014-08-19 14:37   ` Meelis Roos
2014-08-19 14:37     ` Meelis Roos
2014-08-19 14:47     ` James Bottomley
2014-08-19 14:47       ` James Bottomley
2014-08-19 20:17       ` Aaro Koskinen
2014-08-19 20:17         ` Aaro Koskinen
2014-08-19 20:30         ` Sam Ravnborg [this message]
2014-08-19 20:30           ` Sam Ravnborg
2014-08-19 20:37         ` James Bottomley
2014-08-19 20:37           ` James Bottomley
2014-08-19 20:48           ` Aaro Koskinen
2014-08-19 20:48             ` Aaro Koskinen
2014-08-20 12:14           ` Meelis Roos
2014-08-20 12:14             ` Meelis Roos
2014-08-20 10:45 ` Hermann Lauer
2014-08-20 11:03 ` Meelis Roos

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=20140819203054.GA24325@ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=hch@lst.de \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=mroos@linux.ee \
    --cc=sparclinux@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.