Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932644AbbLVNry (ORCPT ); Tue, 22 Dec 2015 08:47:54 -0500 Received: from kvm5.telegraphics.com.au ([98.124.60.144]:44199 "EHLO kvm5.telegraphics.com.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753872AbbLVNrv (ORCPT ); Tue, 22 Dec 2015 08:47:51 -0500 Date: Wed, 23 Dec 2015 00:47:36 +1100 (AEDT) From: Finn Thain To: One Thousand Gnomes cc: "James E.J. Bottomley" , Michael Schmitz , linux-m68k@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, "Martin K. Petersen" , Russell King , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v3 66/77] ncr5380: Fix soft lockups In-Reply-To: <20151222113903.06422dbe@lxorguk.ukuu.org.uk> Message-ID: References: <20151222011737.980475848@telegraphics.com.au> <20151222011755.965510468@telegraphics.com.au> <20151222113903.06422dbe@lxorguk.ukuu.org.uk> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1835 Lines: 44 On Tue, 22 Dec 2015, One Thousand Gnomes wrote: > On Tue, 22 Dec 2015 12:18:44 +1100 Finn Thain > 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/