Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1296795

Re: [PATCH v3 66/77] ncr5380: Fix soft lockups

From Finn Thain <fthain@telegraphics.com.au>
Newsgroups linux.kernel
Subject Re: [PATCH v3 66/77] ncr5380: Fix soft lockups
Date 2015-12-22 14:50 +0100
Message-ID <qIvua-4Bu-19@gated-at.bofh.it> (permalink)
References <qIl1L-6kS-3@gated-at.bofh.it> <qIlbt-6oO-41@gated-at.bofh.it> <qItC1-3qD-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, 22 Dec 2015, One Thousand Gnomes wrote:

> On Tue, 22 Dec 2015 12:18:44 +1100 Finn Thain 
> <fthain@telegraphics.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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v3 66/77] ncr5380: Fix soft lockups Finn Thain <fthain@telegraphics.com.au> - 2015-12-22 03:50 +0100
  Re: [PATCH v3 66/77] ncr5380: Fix soft lockups One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> - 2015-12-22 12:50 +0100
    Re: [PATCH v3 66/77] ncr5380: Fix soft lockups Finn Thain <fthain@telegraphics.com.au> - 2015-12-22 14:50 +0100
      Re: [PATCH v3 66/77] ncr5380: Fix soft lockups Michael Schmitz <schmitzmic@gmail.com> - 2015-12-23 01:50 +0100

csiph-web