[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LNX.2.00.1512222347310.23505@nippy.intranet>
Date: Wed, 23 Dec 2015 00:47:36 +1100 (AEDT)
From: Finn Thain <fthain@...egraphics.com.au>
To: One Thousand Gnomes <gnomes@...rguk.ukuu.org.uk>
cc: "James E.J. Bottomley" <JBottomley@...n.com>,
Michael Schmitz <schmitzmic@...il.com>,
linux-m68k@...r.kernel.org, linux-scsi@...r.kernel.org,
linux-kernel@...r.kernel.org,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Russell King <linux@....linux.org.uk>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v3 66/77] ncr5380: Fix soft lockups
On Tue, 22 Dec 2015, One Thousand Gnomes wrote:
> On Tue, 22 Dec 2015 12:18:44 +1100 Finn Thain
> <fthain@...egraphics.com.au> wrote:
>
> > Because of the rudimentary design of the chip, it is necessary to poll
> > the SCSI bus signals during PIO and this tends to hog the CPU. The
> > driver will accept new commands while others execute, and this causes
> > a soft lockup because the workqueue item will not terminate until the
> > issue queue is emptied.
> >
> > When exercising dmx3191d using sequential IO from dd, the driver is
> > sent 512 KiB WRITE commands and 128 KiB READs. For a PIO transfer, the
> > rate is is only about 300 KiB/s, so these are long-running commands.
> > And although PDMA may run at several MiB/s, interrupts are disabled
> > for the duration of the transfer.
> >
> > Fix the unresponsiveness and soft lockup issues by calling
> > cond_resched() after each command is completed and by limiting
> > max_sectors for drivers that don't implement real DMA.
>
> Is there a reason for not doing some limiting in the DMA case too. A
> 512K write command even with DMA on a low end 68K box introduces a
> second of latency before another I/O can be scheduled ?
The DMA case is the atari_scsi case. I'd like to think that atari_scsi
would have only the latency issues that might be expected from any SCSI-2
host adapter driver.
Unlike PDMA, interrupts are not disabled for these DMA transfers. Note
that this patch isn't really relevant to DMA, because the main loop
iterates only when done == 0, that is, !hostdata->dmalen.
--
>
> Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists