linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@SteelEye.com>
To: Mark Lord <lkml@rtr.ca>
Cc: Christoph Hellwig <hch@infradead.org>,
	Jeff Garzik <jgarzik@pobox.com>, Mark Lord <lsml@rtr.ca>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH] QStor SATA/RAID driver for 2.6.9-rc3
Date: 08 Oct 2004 10:27:41 -0500	[thread overview]
Message-ID: <1097249266.1678.40.camel@mulgrave> (raw)
In-Reply-To: <4166AF2F.6070904@rtr.ca>

On Fri, 2004-10-08 at 10:15, Mark Lord wrote:
> > Actually, the driver has no need for a thread at all.  Since you're
> > simply using it to fire hotplug events, use schedule_work instead.
> 
> That worries me some, because the mid-layer will perform blocking I/O
> and the like, and I'm not sure how much that stuff may depend on its
> own usage (any?) of workqueues.  If you believe it to be safe,
> then I'll nuke the kthread entirely.

We use this already for other entities that require user context like
domain validation.  It seems to work as advertised.

> > scsi_done() doesn't require a lock
> 
> Really?  I wonder why the mid-layer is so religious about
> doing the lock around every invocation of it today?

It's not if you look at other drivers.  There's no harm in taking the
lock, so none of the old ones got updated, but the lock isn't needed. 
The idea is that if you're holding the lock naturally (say in an
interrupt routine) there's no need to drop it artificially.  However,
you definitely shouldn't take it artificially like you do.

> > - Your emulated commands assume they're non-sg and issued through the
> > kernel (i.e. you don't kmap and you don't do SG).  This will blow up on
> > the first inquiry submitted via SG_IO for instance.
> 
> The SG is tested for and simply failed -- there is no need today for
> SG usage on those code paths.  If there turns out to be a need for that
> interface with this driver in the future, we can add it.  Just like most
> of the other drivers currently treat it.

And you've tested this with things like SUSE's hwinfo utility which
seems to send INQUIRIES on its own?

> What is the "kmap" semantic, and how should it be applied here?

kmap is used to make a user page visible to the kernel.

Really, I suppose, libata should provide the interfaces for doing this
work for emulated commands.

James



  reply	other threads:[~2004-10-08 15:27 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-04 19:11 [PATCH] QStor SATA/RAID driver for 2.6.9-rc3 Mark Lord
2004-10-07 13:42 ` Mark Lord
2004-10-07 14:07   ` Christoph Hellwig
2004-10-07 15:35     ` Mark Lord
2004-10-07 15:50       ` Jeff Garzik
2004-10-07 20:17         ` Mark Lord
2004-10-07 20:30           ` Jeff Garzik
2004-10-07 20:34             ` Mark Lord
2004-10-07 20:46               ` Jeff Garzik
2004-10-07 20:54                 ` Mark Lord
2004-10-07 21:15                   ` Christoph Hellwig
2004-10-07 22:03                     ` Mark Lord
2004-10-20 15:44                       ` Christoph Hellwig
2004-10-07 23:39                     ` PATCH] " Mark Lord
2004-10-13 18:56                       ` [PATCH] QStor SATA/RAID driver for 2.6.9-rc4 Mark Lord
2004-10-08 13:19                     ` [PATCH] QStor SATA/RAID driver for 2.6.9-rc3 James Bottomley
2004-10-08 15:15                       ` Mark Lord
2004-10-08 15:27                         ` James Bottomley [this message]
2004-10-08 15:34                           ` Mark Lord
2004-10-08 15:38                             ` Jeff Garzik
2004-10-08 16:01                             ` James Bottomley
2004-10-12 17:00                               ` Mark Lord
2004-10-12 17:05                                 ` Jeff Garzik
2004-10-12 17:09                                   ` James Bottomley
2004-10-12 17:31                                     ` Jeff Garzik
2004-10-08 15:38                           ` Mark Lord
2004-10-08 15:47                             ` James Bottomley
2004-10-08 15:49                               ` Jeff Garzik
2004-10-12 16:59                               ` Mark Lord
2004-10-12 17:03                                 ` Jeff Garzik
2004-10-12 17:14                                   ` Mark Lord
2004-10-12 17:19                                     ` Jeff Garzik
2004-10-12 17:23                                     ` Jeff Garzik
2004-10-12 17:17                                 ` James Bottomley
2004-10-12 17:22                                   ` Mark Lord
2004-10-12 17:30                                     ` James Bottomley
2004-10-12 17:33                                       ` Mark Lord
2004-10-12 17:42                                         ` Jeff Garzik
2004-10-12 17:51                                           ` Mark Lord
2004-10-12 18:12                                             ` James Bottomley
2004-10-12 18:36                                               ` Mark Lord
2004-10-12 18:25                                             ` driver hacking tips (was Re: [PATCH] QStor SATA/RAID driver for 2.6.9-rc3) Jeff Garzik
2004-10-12 19:18                                               ` Mark Lord
2004-10-12 19:40                                                 ` Jeff Garzik
2004-10-12 17:34                                     ` [PATCH] QStor SATA/RAID driver for 2.6.9-rc3 Jeff Garzik
2004-10-07 20:31           ` Christoph Hellwig
2004-10-07 20:35           ` Jeff Garzik
2004-10-07 21:16 ` Mark Lord
2004-10-07 21:44   ` Jeff Garzik
2004-10-07 21:45   ` Jeff Garzik
2004-10-13 20:04   ` Jeff Garzik
2004-10-13 22:16     ` Mark Lord
2004-10-13 22:41       ` Jeff Garzik
2004-10-13 23:24         ` Mark Lord
2004-10-13 23:39           ` Jeff Garzik
2004-10-14 16:30             ` Mark Lord
2004-10-14 16:37               ` Mark Lord
2004-10-14 16:52               ` [PATCH] Export ata_scsi_simulate() for use by non-libata drivers Mark Lord
2004-10-14 17:04                 ` Jeff Garzik
2004-10-14 18:44                   ` Mark Lord
2004-10-15  5:04                     ` Jeff Garzik
2004-10-15 13:25                       ` John W. Linville
2004-10-15 14:59                         ` Randy.Dunlap
2004-10-15 15:38                           ` Jeff Garzik

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=1097249266.1678.40.camel@mulgrave \
    --to=james.bottomley@steeleye.com \
    --cc=hch@infradead.org \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=lkml@rtr.ca \
    --cc=lsml@rtr.ca \
    /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;
as well as URLs for NNTP newsgroup(s).