linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Patterson <andrew.patterson@hp.com>
To: Luben Tuikov <luben_tuikov@adaptec.com>
Cc: "Salyzyn, Mark" <mark_salyzyn@adaptec.com>,
	dougg@torque.net, Linus Torvalds <torvalds@osdl.org>,
	Luben Tuikov <ltuikov@yahoo.com>,
	SCSI Mailing List <linux-scsi@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: I request inclusion of SAS Transport Layer and AIC-94xx into the kernel
Date: Fri, 30 Sep 2005 14:14:50 -0600	[thread overview]
Message-ID: <1128111290.10079.147.camel@bluto.andrew> (raw)
In-Reply-To: <433D9035.6000504@adaptec.com>

On Fri, 2005-09-30 at 15:21 -0400, Luben Tuikov wrote:
> On 09/30/05 14:39, Andrew Patterson wrote:
> > 
> > SDI is supposed to be a cross-platform spec, so mandating sysfs would
> > not work.
> 
> True, sysfs is a Linux only thing.
> 
> But you can write a user space library which uses sysfs or whatever
> _that_ OS uses to represent an SDI spec-ed out picture.

Yes you can, which is what I am trying to do.  However, is that library
also available on Solaris and Windows? Is it up to date?  These are the
reasons why the spec authors rejected that approach. I don't agree with
them BTW, but I do understand why they think that way.

> 
> So a user space program would call (uniformly across all OSs)
> a libsdi library which will use whatever OS dependent way there is
> to get the information (be it sysfs or ioctl).

See the paragraph below.

> 
> > I suggested to the author to use a library like HPAAPI (used
> > by Fibre channel), so you could hide OS implementation details.  I am in
> > fact working on such a beasty (http://libsdi.berlios.de).  He thinks
> > that library solutions tend to not work, because the library version is
> > never in synch with the standard/LLDD's. Given Linux vendor lead-times,
> > he does have a valid point.
> 
> Yes, but it would be the best of all the current ways there are
> to do it.

Theoretically yes.  Practically, perhaps not.  The authors seem to have
been left with a bad taste in their mouths after their experience with
HBA API.  They agree that IOCTL are bad too do to lack of linux support,
but do not have a better cross-platform solution as yet.  The current
way around this is to use CSMI and brow-beat various Linux vendors into
allowing these IOCTL's into their kernels.

> 
> > Note that a sysfs implementation has problems.  Binary attributes are
> > discouraged/not-allowed.
> 
> I've never heard that.  Is this similar to the argument
> "The sysfs tree would be too deep?"

>From Documentation/filesystes/sysfs.txt

"Attributes should be ASCII text files, preferably with only one value
per file. It is noted that it may not be efficient to contain only
value per file, so it is socially acceptable to express an array of
values of the same type.

Mixing types, expressing multiple lines of data, and doing fancy
formatting of data is heavily frowned upon. Doing these things may get
you publically humiliated and your code rewritten without notice."

My understanding is that sysfs is meant to be human-readable.  I do not
know if this is a hard and fast rule or just a convention.  Configfs is
probably a better fit at least for writeable attributes, but may not be
cooked yet.

> 
> > There is no atomic request/response operations
> 
> For a reason: let user space do it, there is plenty of ways to
> do it, some assisted by the kernel.

User space locking can only guarantee atomic operations in user space.  

> 
> > buffers limited to page size, etc.
> 
> "You have an attribute larger than 4k?  What is it?"

Not sure at the moment, can I guarantee this for the future?

> 
> As to SMP response/request is more than 4K/8K?  The largest
> I'm aware of is 64 bytes.
> 
> > Other alternatives are
> > configfs, SG_IO, and the above mentioned character device.  None are a
> 
> Again, char devices for controlling are discouraged.  There are not enough
> around and it is old technology.

There are as many as one would want.  We now have 32 bit device numbers.
Old technology is fine as long as it works, especially if their is no
new technology to replace it.  Note that I don't like the character
device solution either. What would really be nice is something that will
allow us to pass an arbitrary request buffer, and get an arbitrary
response buffer back in a single transaction,  SG_IO comes closest, but
shares request/response buffers and is limited to a 16-byte commands.
It also requires a device file.

> 
> > complete replacement for the transactional nature of IOCTL's.  A group
> 
> Here:
> 
> /* User space lock */
> 
> fd = open(smp_portal, ...);
> write(fd, smp_req, smp_req_size);
> read(fd, smp_resp, smp_resp_size);
> close(fd);
> 
> /* User space unlock */
> 

See above.  This stuff works for trivial user-space apps.  It will not
suffice for most storage management apps.  

Andrew


> 	Luben
> 




  reply	other threads:[~2005-09-30 20:15 UTC|newest]

Thread overview: 166+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-30 17:07 I request inclusion of SAS Transport Layer and AIC-94xx into the kernel Salyzyn, Mark
2005-09-30 17:53 ` Arjan van de Ven
2005-10-01 23:55   ` Alan Cox
2005-10-03 16:17     ` Luben Tuikov
2005-10-04  6:51       ` Andre Hedrick
2005-10-04 15:01         ` Luben Tuikov
2005-09-30 18:39 ` Andrew Patterson
2005-09-30 19:21   ` Luben Tuikov
2005-09-30 20:14     ` Andrew Patterson [this message]
2005-09-30 20:22       ` Matthew Wilcox
2005-09-30 21:44         ` Linus Torvalds
2005-10-01 17:46         ` Greg KH
2005-09-30 20:32       ` Luben Tuikov
2005-09-30 21:15         ` Andrew Patterson
2005-09-30 21:40           ` Joel Becker
2005-09-30 22:01           ` Luben Tuikov
2005-09-30 23:42             ` Marcin Dalecki
2005-10-03 13:54               ` Luben Tuikov
2005-10-03 16:29                 ` Marcin Dalecki
2005-10-03 16:35                   ` Andrew Patterson
2005-10-03 16:39                     ` Luben Tuikov
2005-10-03 19:16                       ` Marcin Dalecki
2005-10-03 21:26                       ` Tomasz Kłoczko
2005-10-03 22:04                         ` Ryan Anderson
2005-10-03 22:56                           ` Linus Torvalds
2005-10-03 23:22                             ` Al Viro
2005-10-04 13:55                             ` Tomasz Kłoczko
2005-10-04 15:09                               ` Linus Torvalds
2005-10-04 14:38                             ` Luben Tuikov
2005-10-04 14:54                               ` Jeff Garzik
2005-10-04 15:19                                 ` Luben Tuikov
2005-10-04 15:26                                   ` Jeff Garzik
2005-10-04 15:40                                     ` Luben Tuikov
2005-10-04 15:46                                       ` Matthew Wilcox
2005-10-04  6:30                           ` Andre Hedrick
2005-10-01  0:02     ` Jeff Garzik
2005-10-01  0:01   ` Jeff Garzik
  -- strict thread matches above, loose matches on Subject: below --
2005-09-30  1:28 Martin Fouts
2005-09-29 15:45 Moore, Eric Dean
2005-09-28 22:17 Moore, Eric Dean
2005-09-29 12:46 ` Luben Tuikov
2005-09-28 15:15 Moore, Eric Dean
2005-09-28 16:59 ` Luben Tuikov
2005-09-28  0:28 Moore, Eric Dean
2005-09-28  1:34 ` Andre Hedrick
2005-09-28 11:42 ` Luben Tuikov
2005-09-27 13:07 Luben Tuikov
2005-09-27 13:19 ` Christoph Hellwig
2005-09-27 15:01   ` Luben Tuikov
2005-09-27 15:53     ` James Bottomley
2005-09-27 19:35       ` Luben Tuikov
2005-09-27 20:34         ` Jeff Garzik
2005-09-27 21:44           ` Luben Tuikov
2005-09-27 22:01             ` Jeff Garzik
2005-09-27 23:03               ` Luben Tuikov
2005-09-27 23:32                 ` Andrew Patterson
2005-09-28  2:07                 ` Jeff Garzik
2005-09-26 19:38 Luben Tuikov
2005-09-27 21:55 ` Jeff Garzik
2005-09-27 22:51   ` Luben Tuikov
2005-09-27 23:14     ` Andre Hedrick
2005-09-28 11:37       ` Luben Tuikov
2005-09-28 12:32         ` Matthew Wilcox
2005-09-28 14:50           ` Linus Torvalds
2005-09-30  1:56             ` Junio C Hamano
2005-09-28 16:27         ` Patrick Mansfield
2005-09-28 16:34           ` Luben Tuikov
2005-09-28 19:45           ` Andre Hedrick
2005-09-28 20:56             ` Luben Tuikov
2005-09-28 22:35               ` Willy Tarreau
2005-09-28 23:22                 ` Jeff Garzik
2005-09-28 23:29                   ` David S. Miller
2005-09-29  5:30                     ` Andre Hedrick
2005-09-29  7:24                       ` David S. Miller
2005-09-30  7:36                         ` Andre Hedrick
2005-09-30 18:34                           ` Luben Tuikov
2005-09-30 18:50                             ` Kyle Moffett
2005-09-30 19:08                               ` Luben Tuikov
2005-09-30 21:31                                 ` Kyle Moffett
2005-09-30 22:10                                   ` Greg Freemyer
2005-09-30 22:19                                     ` Luben Tuikov
2005-09-30 23:54                                     ` Jeff Garzik
2005-10-01  4:58                                       ` Willy Tarreau
2005-10-03 15:08                                         ` Luben Tuikov
2005-10-03 14:04                                       ` Luben Tuikov
2005-09-30 22:14                                   ` Luben Tuikov
2005-10-01  0:33                                     ` Jeff Garzik
2005-10-03 14:18                                       ` Luben Tuikov
2005-10-03 16:01                                         ` Jeff Garzik
2005-09-30 20:45                             ` James Bottomley
2005-09-30 22:05                               ` Luben Tuikov
2005-10-01  0:38                                 ` Jeff Garzik
2005-10-03 15:27                                   ` Luben Tuikov
2005-10-03 16:28                                     ` Jeff Garzik
2005-09-30 22:04                             ` Andre Hedrick
2005-09-30 22:32                               ` Luben Tuikov
2005-09-30 23:57                             ` Jeff Garzik
2005-10-03 14:15                               ` Luben Tuikov
2005-10-03 15:57                                 ` Jeff Garzik
2005-10-03 16:23                                   ` Luben Tuikov
2005-10-03 16:48                                     ` Jeff Garzik
2005-10-03 19:03                                       ` Luben Tuikov
2005-10-03 19:32                                         ` Mike Christie
2005-10-03 20:15                                           ` Jeff Garzik
2005-10-03 19:10                                 ` Mike Christie
2005-09-30 18:51                           ` Luben Tuikov
2005-09-29 14:33                 ` Luben Tuikov
2005-09-29 14:48                   ` Jeff Garzik
2005-09-29 15:50                     ` Luben Tuikov
2005-09-29 16:54                       ` Jeff Garzik
2005-09-29 18:25                         ` Luben Tuikov
2005-09-29 15:15                   ` grundig
2005-09-29 15:17                   ` Bernd Petrovitsch
2005-09-29 16:33                     ` Luben Tuikov
2005-09-29 16:56                       ` Jeff Garzik
2005-09-29 16:58                         ` Luben Tuikov
2005-09-29 17:03                           ` Jeff Garzik
2005-09-29 18:09                           ` Gerrit Huizenga
2005-09-29 17:13                       ` Bernd Petrovitsch
2005-09-29 18:39                         ` Luben Tuikov
2005-09-29 22:43                           ` Joel Becker
2005-09-29 17:52                   ` John Stoffel
2005-09-29 19:20                     ` Bruce Ferrell
2005-09-28 22:43               ` Andre Hedrick
2005-09-29 15:04                 ` Luben Tuikov
2005-09-29 15:08                   ` Jeff Garzik
2005-09-29 16:22                     ` Luben Tuikov
2005-09-29 19:09                   ` Stefan Richter
2005-09-29 22:06                     ` Luben Tuikov
2005-09-28 16:30         ` Valdis.Kletnieks
2005-09-28 16:35           ` Luben Tuikov
2005-09-28  2:02     ` Jeff Garzik
2005-09-28 20:36       ` Luben Tuikov
2005-09-28 21:00         ` Jeff Garzik
2005-09-28 22:10           ` Luben Tuikov
2005-09-28 23:04             ` Jeff Garzik
2005-09-29  4:04               ` Willy Tarreau
2005-09-29  7:44                 ` Arjan van de Ven
2005-09-29 15:09                   ` Luben Tuikov
2005-09-29 15:20                     ` Jeff Garzik
2005-09-29 16:56                       ` Luben Tuikov
2005-09-29 17:11                         ` Jeff Garzik
2005-09-30 18:16                     ` Joe Bob Spamtest
2005-09-29 17:15                   ` Stefan Richter
2005-09-29 17:29                     ` Jeff Garzik
2005-09-29 19:32                   ` Willy Tarreau
2005-09-29 19:57                   ` Linus Torvalds
2005-09-29 22:49                     ` jerome lacoste
2005-09-29 23:20                     ` Luben Tuikov
2005-09-29 23:57                       ` Prasenjit Sarkar
2005-09-30  6:35                         ` Andre Hedrick
2005-09-30  0:35                       ` Linus Torvalds
2005-09-30  1:25                         ` Hua Zhong
2005-09-30  2:42                         ` Marcin Dalecki
2005-09-30 19:12                           ` Joe Bob Spamtest
2005-09-30 19:38                             ` Bob Copeland
2005-09-30  7:29                         ` Douglas Gilbert
2005-09-30 14:23                           ` Luben Tuikov
2005-09-30 16:26                           ` Andrew Patterson
2005-09-30 16:47                             ` Luben Tuikov
2005-09-30 14:07                         ` Luben Tuikov
2005-09-30  5:31                       ` Theodore Ts'o
2005-09-30  6:52                     ` Andre Hedrick
2005-09-29 19:59               ` Stefan Richter
2005-09-29 19:37       ` Stefan Richter
2005-09-29 19:22   ` Stefan Richter

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=1128111290.10079.147.camel@bluto.andrew \
    --to=andrew.patterson@hp.com \
    --cc=dougg@torque.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=ltuikov@yahoo.com \
    --cc=luben_tuikov@adaptec.com \
    --cc=mark_salyzyn@adaptec.com \
    --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).