public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Patrick Mansfield <patmans@us.ibm.com>
To: Luben Tuikov <tluben@rogers.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	James Bottomley <James.Bottomley@steeleye.com>,
	linux-scsi@vger.kernel.org
Subject: Re: [PATCH] scsi-misc-2.5 user per-device spare command
Date: Fri, 25 Apr 2003 09:50:55 -0700	[thread overview]
Message-ID: <20030425095055.B8776@beaverton.ibm.com> (raw)
In-Reply-To: <3EA94263.1020902@rogers.com>; from tluben@rogers.com on Fri, Apr 25, 2003 at 10:12:51AM -0400

On Fri, Apr 25, 2003 at 10:12:51AM -0400, Luben Tuikov wrote:

> 1. Use the cache *first*, and if it's depleted, *then*
> use the spare command struct.

Then we would allocate and almost never use the spare. This is a bit
different as compared to the per-host spare, when we shoulid use the
spare only as a last resort.

> 2. Why spare_cmd is a pointer? Why? Why?
> Wouldn't it be much more *flexible* to be a list_head,
> so that maybe we can hook up more commands in the future?
> I.e. keep your options open...

When or if we use more than one spare we can change the code to a
list_head. I don't plan to add such code, so I see no reason to use a
list_head.

> 3. As Christoph pointed out, access to your spare is racy.

spare_cmd is protected via sdev_lock.

> 4. Why are you using list_del()???? You should use list_del_init()!
> I can easily envision a hard to catch bug (and quite rare), when
> some LLDD gets the spare and does a check on the list_head...

__scsi_get_command is always setting the list_head, whether it is the
spare or not. If the LLDD or scsi core got a command with a bad list_head,
that is a bug.

> Furthermore, cannot you see the infrastructure to which we've
> tried to get closer to?  More specifically a command struct travels
> list_heads as it comes out of the cache/spare_list and comes
> back to the cache/spare_list.

If we are not using the list_head post scsi_put_command, there is no
reason to use list_del_init (versus list_del).

-- Patrick Mansfield

  reply	other threads:[~2003-04-25 16:42 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-24 17:02 [PATCH] scsi-misc-2.5 remove scsi_device list_lock Patrick Mansfield
2003-04-24 17:03 ` [PATCH] scsi-misc-2.5 user per-device spare command Patrick Mansfield
2003-04-24 17:03   ` [PATCH] scsi-misc-2.5 fold scsi_alloc_cmd into __scsi_get_command Patrick Mansfield
2003-04-25 10:12   ` [PATCH] scsi-misc-2.5 user per-device spare command Christoph Hellwig
2003-04-25 14:12     ` Luben Tuikov
2003-04-25 16:50       ` Patrick Mansfield [this message]
2003-04-25 16:56         ` Christoph Hellwig
2003-04-25 17:45         ` Luben Tuikov
2003-04-25 18:00           ` Patrick Mansfield
2003-04-25 18:36             ` Luben Tuikov
2003-04-25 16:37     ` Patrick Mansfield
2003-04-25 16:50       ` Christoph Hellwig
2003-04-25 16:57       ` James Bottomley
2003-04-25 20:49         ` Patrick Mansfield
2003-04-25 17:38       ` Luben Tuikov
2003-04-25 10:12 ` [PATCH] scsi-misc-2.5 remove scsi_device list_lock Christoph Hellwig
2003-04-25 10:47   ` Jens Axboe
2003-04-25 16:53     ` Patrick Mansfield
2003-04-25 17:20       ` Jens Axboe
2003-04-25 14:00   ` Luben Tuikov

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=20030425095055.B8776@beaverton.ibm.com \
    --to=patmans@us.ibm.com \
    --cc=James.Bottomley@steeleye.com \
    --cc=hch@infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=tluben@rogers.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