On Tue, 2007-07-24 at 17:01 +0300, Benny Halevy wrote: > FUJITA Tomonori wrote: > > I should have said that, was the approach to use separate buffer for > > sglists instead of putting the sglists and the parameters in one > > buffer completely rejected? > > I think that James should be asked this question. > My understanding was that he preferred allocating the sgtable > header along with the scatterlist array. All I really cared about was insulating the drivers from future changes in this area. It strikes me that for chained sglist implementations, this can all become a block layer responsibility, since more than SCSI will want to make use of it. Just remember, though that whatever is picked has to work in both memory constrained embedded systems as well as high end clusters. It seems to me (but this isn't a mandate) that a single tunable sg element chunk size will accomplish this the best (as in get rid of the entire SCSI sglist sizing machinery) . However, I'm perfectly happy to go with whatever the empirical evidence says is best .. and hopefully, now we don't have to pick this once and for all time ... we can alter it if whatever is chosen proves to be suboptimal. > There are pro's and con's either way. In my opinion separating > the headers is better for mapping buffers that have a power of 2 > #pages (which seems to be the typical case) since when you're > losing one entry in the sgtable for the header you'd waste a lot > more when you just cross the bucket boundary. E.g. for 64 pages > you need to allocate from the "64 to 127" bucket rather than the > "33 to 64" bucket). Separated, one sgtable header structure > can just be embedded in struct scsi_cmnd for uni-directional transfers > (wasting some space when transferring no data, but saving space and > cycles in the common case vs. allocating it from a separate memory pool) > and the one for bidi read buffers can be allocated separately just for > bidi commands. This is all opinion ... could someone actually run some performance tests? James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html