From: Jeff Garzik <jgarzik@pobox.com>
To: dougg@torque.net, Luben Tuikov <luben_tuikov@adaptec.com>,
Christoph Hellwig <hch@lst.de>,
jejb@steeleye.com
Cc: Matthew Wilcox <matthew@wil.cx>,
andrew.patterson@hp.com, "Moore, Eric Dean" <Eric.Moore@lsil.com>,
linux-scsi@vger.kernel.org,
Linux Kernel <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@osdl.org>
Subject: Re: ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attached PHYs)
Date: Fri, 21 Oct 2005 23:53:51 -0400 [thread overview]
Message-ID: <4359B7CF.5060509@pobox.com> (raw)
In-Reply-To: <4359A9FE.4010503@pobox.com>
Jeff Garzik wrote:
> Douglas Gilbert wrote:
>> However, the block layer is used in the context of a
>> block device (and in some cases a char device).
>> If SAS domain discovery is done from the user space, and
>> the root file system is the far side of a SAS expander,
>> there are no suitable devices, just the SAS initiator
>> (HBA) which currently we cannot address via the block layer.
> Invalid example. All of the methods listed -- request_queue, netlink,
> chrdev, sysfs, ioctl -- will work just fine when the root filesystem is
> on the far side of a SAS expander. These are just methods of
> communication, nothing more.
>
> In your example -- userspace discovery required before root filesystem
> can be found -- a program running from initrd/initramfs would create an
> SMP device node, open it, and then proceed with the discovery and
> configuration process, which in turn creates the device nodes necessary
> to mount the root filesystem.
>
> A request_queue is just a queue. You are in complete control of who are
> the producer(s) of requests, and who are consumer(s).
Since people are having such a tough time grasping the use of
request_queue without an associated block device, here is a concrete
example: drivers/block/sx8.c.
sx8 creates a queue (grep for 'oob_q') specifically for handling
discovery and configuration requests. The only requests sent to this
queue are I2O-ish management commands, never reads or writes. Since
they are management commands, these requests are NEVER associated with a
block device. Further, when sx8 discovery begins, sx8 block devices
(and associated request_queues) simply don't exist.
Although sx8 management is entirely in-kernel, one could easily imagine
how a userland interface (chrdev?) submits userspace commands into this
queue. Further, one can see how a host adapter could register one or
more queues specifically for the transit of SMP commands.
NOTE: THIS IS NOT AN ENDORSEMENT OF REQUEST QUEUES FOR SMP. I merely
wish to clear up misunderstandings about the block layer found in this
thread.
It remains an open question whether the _complexity_ of this approach is
more than is warranted for SMP. But we've departed from that question,
in this sub-thread :)
I merely illustrate that the block layer is being used _today_ for
management commands.
Jeff
next prev parent reply other threads:[~2005-10-22 3:53 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-20 15:25 [PATCH 1/4] sas: add flag for locally attached PHYs Moore, Eric Dean
2005-10-20 15:55 ` Luben Tuikov
2005-10-20 16:01 ` Christoph Hellwig
2005-10-20 16:51 ` Luben Tuikov
2005-10-20 17:03 ` Christoph Hellwig
2005-10-20 17:22 ` Arjan van de Ven
2005-10-20 20:10 ` Luben Tuikov
2005-10-21 8:16 ` Arjan van de Ven
2005-10-20 20:02 ` Luben Tuikov
2005-10-21 0:01 ` Andrew Patterson
2005-10-21 0:46 ` ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attached PHYs) Jeff Garzik
2005-10-21 5:09 ` Mike Christie
2005-10-21 5:41 ` Douglas Gilbert
2005-10-21 6:19 ` Jeff Garzik
2005-10-21 18:37 ` Luben Tuikov
2005-10-21 17:48 ` Luben Tuikov
2005-10-21 18:04 ` Christoph Hellwig
2005-10-21 18:12 ` Luben Tuikov
2005-10-21 18:20 ` Matthew Wilcox
2005-10-22 2:30 ` Douglas Gilbert
2005-10-22 2:54 ` Jeff Garzik
2005-10-22 3:53 ` Jeff Garzik [this message]
2005-10-22 17:14 ` Luben Tuikov
2005-10-22 17:49 ` Francois Romieu
2005-10-22 16:51 ` Luben Tuikov
2005-10-21 18:18 ` Jeff Garzik
2005-10-21 18:50 ` Luben Tuikov
2005-10-21 18:54 ` Jeff Garzik
2005-10-21 19:13 ` Luben Tuikov
2005-10-21 19:23 ` Jeff Garzik
2005-10-21 22:20 ` Stefan Richter
2005-10-21 19:22 ` Luben Tuikov
2005-10-21 19:39 ` Jeff Garzik
2005-10-21 20:41 ` Luben Tuikov
2005-10-21 21:12 ` Jeff Garzik
2005-10-21 21:24 ` Luben Tuikov
2005-10-21 21:41 ` Jeff Garzik
2005-10-21 22:14 ` Luben Tuikov
2005-10-21 22:43 ` Jeff Garzik
2005-10-22 9:26 ` Stefan Richter
2005-10-22 17:23 ` Luben Tuikov
2005-10-22 10:42 ` Stefan Richter
2005-10-22 10:58 ` Christoph Hellwig
2005-10-22 15:28 ` Sergey Panov
2005-10-22 17:19 ` Christoph Hellwig
2005-10-22 17:38 ` Sergey Panov
2005-10-24 15:18 ` Luben Tuikov
2005-10-22 18:27 ` Alan Cox
2005-10-24 13:51 ` Luben Tuikov
2005-10-24 15:41 ` Alan Cox
2005-10-24 15:14 ` Luben Tuikov
2005-10-24 16:03 ` Regala
2005-10-24 16:13 ` Luben Tuikov
2005-10-24 16:04 ` Regala
2005-10-22 17:30 ` Luben Tuikov
2005-10-22 18:19 ` Jeff Garzik
2005-10-22 17:49 ` Stefan Richter
2005-10-24 22:09 ` ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attachedPHYs) David Lang
2005-10-24 23:09 ` Stefan Richter
2005-10-22 11:12 ` David Lang
2005-10-22 17:39 ` Luben Tuikov
2005-10-22 17:41 ` Stefan Richter
2005-10-22 17:51 ` Christoph Hellwig
2005-10-22 18:21 ` Stefan Richter
2005-10-22 18:39 ` Sergey Panov
2005-10-22 13:27 ` ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attached PHYs) Stefan Richter
2005-10-22 16:09 ` Luben Tuikov
2005-10-21 19:41 ` Matthew Wilcox
2005-10-21 19:48 ` Luben Tuikov
2005-10-21 19:54 ` Matthew Wilcox
2005-10-21 20:05 ` Luben Tuikov
2005-10-21 19:46 ` Arjan van de Ven
2005-10-21 19:50 ` Luben Tuikov
2005-10-21 9:06 ` [PATCH 1/4] sas: add flag for locally attached PHYs Arjan van de Ven
2005-10-21 17:05 ` Andrew Patterson
2005-10-21 17:18 ` Arjan van de Ven
2005-10-21 18:57 ` Luben Tuikov
2005-10-21 17:32 ` Luben Tuikov
2005-10-21 1:50 ` Douglas Gilbert
2005-10-21 2:16 ` Jeff Garzik
2005-10-21 3:25 ` Douglas Gilbert
2005-10-21 18:04 ` Luben Tuikov
-- strict thread matches above, loose matches on Subject: below --
2005-10-21 20:31 ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attached PHYs) Salyzyn, Mark
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=4359B7CF.5060509@pobox.com \
--to=jgarzik@pobox.com \
--cc=Eric.Moore@lsil.com \
--cc=andrew.patterson@hp.com \
--cc=dougg@torque.net \
--cc=hch@lst.de \
--cc=jejb@steeleye.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=luben_tuikov@adaptec.com \
--cc=matthew@wil.cx \
--cc=torvalds@osdl.org \
/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).