[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: usbback cleanup code
> > I was able to do a little review of the patch a while back but never had > > to time finish looking through it properly. It looked much closer to > > mergeable, but there still seemed to be quite a lot of abstraction code. > > I think in general, folks were hoping to see a minimum amount of > > abstraction code with the USB driver instead using the driver APIs > > correctly. > > As far as I'm aware, the USB code is using the driver API correctly > (except possibly for any bugs or where the API may have changed since > the last patch I released). Sorry, didn't mean to imply it wasn't correctly using it now. I meant to say "directly", which is not at all the same thing. > I think we have a fairly fundamental disconnect about abstraction. For > me, abstraction is a necessary part of good software engineering. Just > as I assume you wouldn't write machine code where you could use assembly > and wouldn't write assembly where you could write C, I wouldn't write > code at a low level of abstraction where it was possible to use a higher > level of abstraction. Abstraction is useful to manage complexity and > useful to write software which is easier to reason about and easier to > modify. Quite. But it can be a problem where there's just one client, going through many layers of abstractions. There were a lot of files added by your patch which appeared to be utility code / abstractions. This is fine in general, but the other drivers seem to get away with much less of this kind of thing without suffering unduly in terms of complexity. I didn't have time to study the code in detail, but I wasn't convinced they were all strictly necessary. > > If you don't want to do any more work on it, then maybe it would make a > > good project for somebody. > > If anyone wants to pick it up, they are more than welcome but I think it > might be worthwhile to wait until some Xen drivers have been > successfully merged upstream with Linux since I suspect that there may > be some more significant churn in the xenbus/xenstore area before this > happens. Maybe, but I suspect upstream merge is still quite a long way off. Personally, I've found that the Xenbus APIs are now sufficiently simple to work with that it's very little work to establish a shared memory page (I hacked up one very quickly for DCSS), after which you don't have to worry about them anylonger. I don't think keeping up with the control plane is prohibitive now, although it was at one stage. > Isochronous is implemented but untested as I couldn't get the > isochronous devices I bought for testing working under native Linux. OK. > The most difficult remaining work is to fix the protocol to correctly > stall URBs during error recovery. I was involved in some discussion > about this on the USB mailing list and there was a proposal for a > solution but it is fairly tricky. Stalling URBs is required when there > is a queue of URBs and an URB fails. If the URBs are not stalled then > they may be submitted to the device out-of-order which is a > data-integrity exposure. Any reason not just to fail all the URBs on the queue? It's not the ideal response, but I wouldn't see a need to handle error recovery fully initially, although it'd be nice in the long run. > Also I would expect the Linux USB stack to have changed again. 2.6's APIs do change fairly flexibly, but I don't remember there being any major changes to the USB stack for some time now. Cheers, Mark > Harry. > > > Cheers, > > Mark > > > > On May 1 2006, Harry Butterworth wrote: > > >I haven't done any more work on the USB code since the last patch I > > >posted to xen-devel. There wasn't any feedback and it wasn't committed. > > >I think people were too busy with the release. > > > > > >I have stopped working on USB. I have done several versions now with no > > >success at getting it merged. I think it will be easier to see what is > > >required once there are some examples of drivers that have been merged > > >with Linux. > > > > > >On Sat, 2006-04-29 at 19:43 +0000, sanjay kumar wrote: > > >> Hi Harry, > > >> Do you know by what time the USB virtualization code will be commited > > >> in the xen-unstable tree? > > >> > > >> Thanks, > > >> Sanjay > > >> > > >> On 4/3/06, Harry Butterworth <harry@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> > > >> wrote: > > >> The code is supposed to work with isochronous devices but it's > > >> untested > > >> so probably doesn't. > > >> > > >> Harry. > > >> > > >> > > >> > > >> > > >> > > >> -- > > >> ---------------------- > > >> PhD Student, Georgia Tech > > >> http://www.cc.gatech.edu/~ksanjay/ > > > > > >_______________________________________________ > > >Xen-devel mailing list > > >Xen-devel@xxxxxxxxxxxxxxxxxxx > > >http://lists.xensource.com/xen-devel -- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |