Messages in this thread | | | Subject | Re: [PATCH 0/5] sg_ring for scsi | From | FUJITA Tomonori <> | Date | Fri, 21 Dec 2007 11:28:34 +0900 |
| |
On Fri, 21 Dec 2007 10:13:38 +1100 Rusty Russell <rusty@rustcorp.com.au> wrote:
> On Thursday 20 December 2007 18:58:07 David Miller wrote: > > From: Rusty Russell <rusty@rustcorp.com.au> > > Date: Thu, 20 Dec 2007 18:53:48 +1100 > > > > > Manipulating the magic chains is horrible; it looks simple to the > > > places which simply want to iterate through it, but it's awful for > > > code which wants to create them. > > > > I'm not saying complexity is inherent in this stuff, but > > assuming that it is the complexity should live as far away > > from the minions (the iterators in this case). Therefore, > > the creators is the right spot for the hard stuff. > > In this case, the main benefit of the sg chaining was that the conversion of > most scsi drivers was easy (basically sg++ -> sg = sg_next(sg)). The > conversion to sg_ring is more complex, but the end result is not > significantly more complex. > > However, the cost to code which manipulates sg chains was significant: I tried > using them in virtio and it was too ugly to live (so that doesn't support sg > chaining). If this was the best we could do, that'd be fine. > > But, as demonstrated, there are real benefits of having an explicit header:
I'm not sure about chaining the headers (as your sg_ring and scsi_sgtable do) would simplify LLDs. Have you looked at ips or qla1280?
| |