public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@steeleye.com>
To: Mike Anderson <andmike@us.ibm.com>
Cc: Luben Tuikov <luben@splentec.com>, linux-scsi@vger.kernel.org
Subject: Re: [PATCH] SCSI Core patches
Date: Fri, 10 Jan 2003 12:06:52 -0500	[thread overview]
Message-ID: <200301101706.h0AH6rr03943@localhost.localdomain> (raw)
In-Reply-To: Message from Mike Anderson <andmike@us.ibm.com> of "Wed, 08 Jan 2003 13:13:06 PST." <20030108211306.GG1112@beaverton.ibm.com>

I got around to looking at the patch.

I think the idea of slab allocation for Scsi_Cmnds is generally worth the 
effort.  There are several issues with the current patch, though:

1) The command for the device has to be allocated in space that respects the 
dma_mask for the device (on a non MMIO bus).  Pretty much for scsi, this 
translates to using GFP_DMA as the allocation flag if unchecked_isa_dma is 
set.  GFP_DMA has to be passed in at kmem_cache_create time.  We therefore 
probably need the capacity to use a different kmem_cache on a per Scsi_Host 
basis and the ability to set up a GFP_DMA kmem_cache if a host with 
unchecked_isa_dma appears.

2) scsi_get_command takes the host lock when obtaining a command from it's 
free_list.  Unfortunately, scsi_get_command looks to be called from places 
(like the prep_fn) where the lock is already held => deadlock.

3) The free_list employs all the list machinery for potentially storing 
multiple commands, but in practice it looks like it only ever stores one of 
them.  Is there a plan to make this free_list size tuneable (probably tuneable 
per device)?

James



  parent reply	other threads:[~2003-01-10 17:06 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-07 13:56 [PATCH] SCSI Core patches Luben Tuikov
2003-01-07 18:21 ` Patrick Mansfield
2003-01-07 19:23   ` Luben Tuikov
2003-01-07 20:33     ` Patrick Mansfield
2003-01-07 22:14       ` Luben Tuikov
2003-01-08  1:36         ` Patrick Mansfield
2003-01-08  5:13           ` Luben Tuikov
2003-01-11 18:12           ` Christoph Hellwig
2003-01-13 20:33             ` Patrick Mansfield
2003-01-13 21:30               ` Luben Tuikov
2003-01-14 18:49                 ` Patrick Mansfield
2003-01-14 19:52                   ` Luben Tuikov
2003-01-07 19:44   ` Doug Ledford
2003-01-07 22:53     ` Patrick Mansfield
2003-01-08 17:33       ` Luben Tuikov
2003-01-08 21:13         ` Mike Anderson
2003-01-10 12:35           ` Andre Hedrick
2003-01-10 17:06           ` James Bottomley [this message]
2003-01-10 19:23             ` Luben Tuikov
2003-01-10 20:05               ` James Bottomley
  -- strict thread matches above, loose matches on Subject: below --
2003-01-14 16:19 Martin Peschke3
2003-01-14 16:51 ` Tony Battersby
2003-01-14 18:56 ` Patrick Mansfield
2003-01-14 20:01 Martin Peschke3
2003-01-14 20:17 ` Patrick Mansfield
2003-01-14 20:37 Martin Peschke3
2003-01-14 21:27 ` Patrick Mansfield
2003-01-14 21:29 Martin Peschke3
2003-01-14 22:16 ` Patrick Mansfield
2003-01-15 15:35 Martin Peschke3
2003-01-15 15:52 ` James Bottomley
2003-01-15 17:12   ` Mike Anderson
2003-01-15 17:40     ` 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=200301101706.h0AH6rr03943@localhost.localdomain \
    --to=james.bottomley@steeleye.com \
    --cc=andmike@us.ibm.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=luben@splentec.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