From: Luben Tuikov <luben@splentec.com>
To: Patrick Mansfield <patmans@us.ibm.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>,
linux-scsi@vger.kernel.org
Subject: Re: [PATCH] 2.5.x alternate add back missing scsi_queue_next_request calls
Date: Fri, 21 Mar 2003 17:52:16 -0500 [thread overview]
Message-ID: <3E7B97A0.4010204@splentec.com> (raw)
In-Reply-To: 20030321141525.A8134@beaverton.ibm.com
Patrick Mansfield wrote:
> Alternate version of the patch. I prefer the previous version. Posting to
> clarify the coding issues.
1. Thanks for posing this patch.
2. I know that you prefer the previous version of the patch.
Please DO NOT export scsi_queue_next_request()! It is not needed
in LLDD and ULDD (unless they feed DIRECTLY from the request queue,
which is currently NOT the case).
cpqfcTSinit.c -- needs a scsi command to reset the device -- called
from the eh_handler.
aha152x.c -- needs a scsi command to reset the device -- called
from the eh_handler.
gdth.c -- flushing and releasing the device.
gdth_proc.c -- same.
All those users of scsi_put_command() DO NOT need to call
scsi_queue_next_request().
For this reason you do not need to export it.
Logically its part of SCSI Core's queueing mechanism and
the more reason not to export it.
3. The way this is scattered all over the place will NOT
last long. It WILL be centralized in the near future,
for this reason I'd rather keep the slab allocation for
command struct intact.
See my previous email on scsi request and scsi command
entry points and completion notifiers -- having a centralized
place you'll be able to do all kinds of magic there.
> The change to use a pool for scsi_cmnd allocations removed some
> scsi_queue_next_request calls, this patch restores the calls, and
> exports scsi_put_command and scsi_get_command.
As I said before: look at scsi_get_command() and try to MIRROR
the same for scsi_put_command() -- one centralized place where
you can call whatever function you want and do whatever
checks and magic there.
Modularizing the command allocation is THE FIRST STEP, if we
contaminate it, all this work goes down the drain.
More and more parts of SCSI Core will be modularized similarly
and then SCSI Core will be defined in terms of their interaction.
> The extra scsi_queue_next_request calls are needed to handle non-block
> device IO completion (char devices and scsi scanning).
ONLY because they notify via scsi_done(command), but entered via
scsi_request! This needs a patch. See my previous post.
I.e. we need a patch which fixes this infrastructre, rather than
a patchwork solution. (Address at the root.)
--
Luben
next prev parent reply other threads:[~2003-03-21 22:52 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-21 22:15 [PATCH] 2.5.x alternate add back missing scsi_queue_next_request calls Patrick Mansfield
2003-03-21 22:52 ` Luben Tuikov [this message]
2003-03-22 0:24 ` Patrick Mansfield
2003-03-22 0:40 ` [PATCH] 2.5.x 3rd version add " Patrick Mansfield
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=3E7B97A0.4010204@splentec.com \
--to=luben@splentec.com \
--cc=James.Bottomley@steeleye.com \
--cc=linux-scsi@vger.kernel.org \
--cc=patmans@us.ibm.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