From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucio De Re To: 9fans@cse.psu.edu Subject: Re: [9fans] USB developments Message-ID: <20040115164415.I25947@cackle.proxima.alt.za> References: <20040115150224.H25947@cackle.proxima.alt.za> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: ; from Richard Miller on Thu, Jan 15, 2004 at 02:05:53PM +0000 Date: Thu, 15 Jan 2004 16:44:16 +0200 Topicbox-Message-UUID: b9e358b2-eacc-11e9-9e20-41e7f4b1d025 On Thu, Jan 15, 2004 at 02:05:53PM +0000, Richard Miller wrote: > > If usb mass storage needed to be "hooked" explicitly into the kernel, > that would be the place to do it. But I wasn't suggesting that it was > the right thing to do. I would still rather see usb mass storage > provided as a self contained file server rather than as a "driver" > wired into the kernel -- then a normal 9P interface suffices. > What's the objection to this high level approach? > Maybe I'm just stupid, I just can't see how the high level approach would provide the same functionality as #S without enormous repetition as well as inefficiency on a data path that should be as fast as possible. - Oops, the above is a bit loaded, consider it toned down, there's not much "enormous" about it :-) I also don't see that extending /sys/src/9/pc/sdata.c (and whatever helpers apply) to deal with USB as the data path rather than the IDE controller or, as already seems to be the case, PCMCIA devices, would not lead to a cleaner architecture. At some cost, without a doubt, but making the most of Plan 9's lack of legacy would seem appropriate here. And as far as I am concerned, the top half of the ATAPI driver could easily be either a kernel or a userland module, possibly even both as is the case with your mass storage USB driver presently and the corresponding ATAPI/SCSI functionality in the kernel. I want to avoid adding bulk to your driver when the functionality is already in place in the ATAPI kernel module and I was a little frightened when I noted that some USB/ATA interface chips do not cope properly with SCSI commands, but implement the ATAPI ones properly. I may be misunderstanding matters totally, I grant, but there aren't any shortcuts to finding out. Or am I being utterly blind to something? I suppose what I'm suggesting is to streamline the kernel so the USB, PCMCIA and IDE/SCSI bottom halves become as close to interchangeables as possible. It may be overkill, but once it's done, it may turn out to be the type of investment that makes Plan 9 even more superior. I'm curious as to whether it is even possible, but I have not heard any strong objections yet, at least on its merit rather than on its desirability from the point of view of minimising effort. Sorry, the above is a bit disjointed, I hope others will be able to piece the significant information together. In summary, I find USB surprisingly clean and I believe that Plan 9 is better suited to the concept than any other OSes I am familiar with. I need to get more familiar with it and I'm willing to put a fair bit of effort into it, but I'm not clever enough to do it properly without understanding both USB and Plan 9 better. ++L