From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Finn Thain <fthain@telegraphics.com.au>, Hannes Reinecke <hare@suse.de>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
Michael Schmitz <schmitzmic@gmail.com>,
linux-m68k@vger.kernel.org, linux-scsi@vger.kernel.org,
linux-kernel@vger.kernel.org,
Ondrej Zary <linux@rainbow-software.org>,
Sam Creasey <sammy@sammy.net>
Subject: Re: [PATCH 20/22] atari_scsi: Set a reasonable default for cmd_per_lun
Date: Tue, 15 Mar 2016 07:34:01 -0700 [thread overview]
Message-ID: <1458052441.2375.18.camel@HansenPartnership.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1603151403150.20294@nippy.intranet>
On Tue, 2016-03-15 at 14:27 +1100, Finn Thain wrote:
> On Mon, 14 Mar 2016, Hannes Reinecke wrote:
>
> > On 03/14/2016 05:27 AM, Finn Thain wrote:
> > > This setting does not need to be conditional on Atari ST or TT.
> > >
> > > Without TCQ support, cmd_per_lun == 2 is probably reasonable...
> > >
> > > Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
> > >
> > > ---
> > > drivers/scsi/atari_scsi.c | 3 +--
> > > 1 file changed, 1 insertion(+), 2 deletions(-)
> > >
> > > Index: linux/drivers/scsi/atari_scsi.c
> > >
> ===================================================================
> > > --- linux.orig/drivers/scsi/atari_scsi.c 2016-03-14
> 15:26:45.000000000 +1100
> > > +++ linux/drivers/scsi/atari_scsi.c 2016-03-14 15:26:55.000000000
> +1100
> > > @@ -750,6 +750,7 @@ static struct scsi_host_template atari_s
> > > .eh_abort_handler = atari_scsi_abort,
> > > .eh_bus_reset_handler = atari_scsi_bus_reset,
> > > .this_id = 7,
> > > + .cmd_per_lun = 2,
> > > .use_clustering = DISABLE_CLUSTERING,
> > > .cmd_size = NCR5380_CMD_SIZE,
> > > };
> > _2_ ? Are you being overly cheeky here?
> > I sincerely doubt the driver is capable of submitting two
> > simultaneous commands ...
>
> Right. The LLD has LU busy flags to prevent a LU from being issued
> more than one command.
>
> > Care to explain?
>
> It seemed harmless and it is consistent with the all of the other
> 5380 drivers.
>
> I don't know why it was done that way. Perhaps it was done to create
> a pipeline. That is, to keep a small number of commands in the LLD
> issue queue so that the NCR5380_main() work item does not have to
> terminate and then get requeued needlessly.
You youngsters nowadays have no grasp of history.
It was done this way so that a fully prepared command was waiting on
the queue rather than having to prepare it in what was then
elv_next_request(). The theory was it was a sort of NAPI because as
soon as the driver called the done() function, block would send us the
next request and we could poke it into the card with the minimum CPU
expenditure (it was all done at softirq level).
Of course, block doesn't function remotely like this today, but
historically that's why most old SCSI drivers set this parameter to one
more than the number of commands they can take.
James
next prev parent reply other threads:[~2016-03-15 14:34 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-14 4:27 [PATCH 00/22] ncr5380: Eliminate macros, reduce code duplication, fix bugs etc Finn Thain
2016-03-14 4:27 ` [PATCH 01/22] g_ncr5380: Remove CONFIG_SCSI_GENERIC_NCR53C400 Finn Thain
2016-03-14 7:21 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 02/22] ncr5380: Remove FLAG_NO_PSEUDO_DMA where possible Finn Thain
2016-03-14 7:21 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 03/22] ncr5380: Remove REAL_DMA and REAL_DMA_POLL macros Finn Thain
2016-03-14 7:23 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 04/22] atari_NCR5380: Remove DMA_MIN_SIZE macro Finn Thain
2016-03-14 7:25 ` Hannes Reinecke
2016-03-15 3:18 ` Finn Thain
2016-03-14 4:27 ` [PATCH 05/22] ncr5380: Disable the DMA errata workaround flag by default Finn Thain
2016-03-14 7:26 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 06/22] ncr5380: Remove PSEUDO_DMA macro Finn Thain
2016-03-14 7:28 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 07/22] ncr5380: Remove BOARD_REQUIRES_NO_DELAY macro Finn Thain
2016-03-14 7:33 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 08/22] ncr5380: Use DMA hooks for PDMA Finn Thain
2016-03-14 7:34 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 09/22] ncr5380: Adopt uniform DMA setup convention Finn Thain
2016-03-14 7:36 ` Hannes Reinecke
2016-03-15 3:19 ` Finn Thain
2016-03-15 6:49 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 10/22] ncr5380: Merge DMA implementation from atari_NCR5380 core driver Finn Thain
2016-03-14 7:38 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 11/22] atari_scsi: Adopt NCR5380.c " Finn Thain
2016-03-14 7:39 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 12/22] sun3_scsi: " Finn Thain
2016-03-14 7:40 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 13/22] ncr5380: Remove disused atari_NCR5380.c " Finn Thain
2016-03-14 7:42 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 14/22] ncr5380: Add MAX_LUN limit Finn Thain
2016-03-14 7:43 ` Hannes Reinecke
2016-03-14 7:51 ` Christoph Hellwig
2016-03-15 3:20 ` Finn Thain
2016-03-15 8:26 ` Christoph Hellwig
2016-03-14 4:27 ` [PATCH 15/22] dmx3191d: Drop max_sectors limit Finn Thain
2016-03-14 7:43 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 16/22] ncr5380: Fix register decoding for debugging Finn Thain
2016-03-14 7:46 ` Hannes Reinecke
2016-03-15 3:21 ` Finn Thain
2016-03-14 4:27 ` [PATCH 17/22] ncr5380: Remove remaining register storage qualifiers Finn Thain
2016-03-14 7:46 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 18/22] ncr5380: Remove DONT_USE_INTR and AUTOPROBE_IRQ macros Finn Thain
2016-03-14 7:47 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 19/22] ncr5380: Update usage documentation Finn Thain
2016-03-14 7:47 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 20/22] atari_scsi: Set a reasonable default for cmd_per_lun Finn Thain
2016-03-14 7:49 ` Hannes Reinecke
2016-03-15 3:27 ` Finn Thain
2016-03-15 6:53 ` Hannes Reinecke
2016-03-15 8:27 ` Finn Thain
2016-03-15 14:34 ` James Bottomley [this message]
2016-03-14 4:27 ` [PATCH 21/22] atari_scsi: Allow can_queue to be increased for Falcon Finn Thain
2016-03-14 7:58 ` Hannes Reinecke
2016-03-14 4:27 ` [PATCH 22/22] mac_scsi: Fix pseudo DMA implementation Finn Thain
2016-03-14 7:59 ` Hannes Reinecke
2016-03-18 7:03 ` [PATCH 00/22] ncr5380: Eliminate macros, reduce code duplication, fix bugs etc Michael Schmitz
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=1458052441.2375.18.camel@HansenPartnership.com \
--to=james.bottomley@hansenpartnership.com \
--cc=fthain@telegraphics.com.au \
--cc=hare@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux@rainbow-software.org \
--cc=martin.petersen@oracle.com \
--cc=sammy@sammy.net \
--cc=schmitzmic@gmail.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