Re: [PATCH 0/5] sg_ring for scsi

From: FUJITA Tomonori
Date: Thu Dec 20 2007 - 21:29:24 EST


On Fri, 21 Dec 2007 10:13:38 +1100
Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:

> On Thursday 20 December 2007 18:58:07 David Miller wrote:
> > From: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
> > 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?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/