![]() | |||||||||||
Messages in this thread |
On Wed, Nov 05 2003, Andrew Vasquez wrote: > Mike, > > > > A new version of the 8.x series driver for Linux 2.6.x kernels has > > > been uploaded to SourceForge: > > > > Thanks for the update. > > > > Can you give more information on why clustering was turned off > > starting in b5? > > > > This change was part of a relatively large performance-patch that was > originally against the 6.x series driver. There were two main reasons > for disabling clustering support: > > o Given the ability of the ISP to efficiently DMA to and from > a significant number of data segment descriptors (via > command/continuation type IOCBs), there were some questions > regarding the benefits that clustering provided given the > overhead incurred by the mid-layer attempting merge the > requests. That is valid. > o Given the ISPs inability to handle data segments that cross > 32-bit page boundaries, and the overhead in defensive logic > within the driver to prevent these cases (compare the 6.x > code to the 8.x code and you will see what I mean), by > disabling clustering we guarantee that a single SG element > never crosses a 4GB boundary. That is not, however. Linux will never give you a segment crossing a 4GB boundary, exactly because most hardware cannot handle this. > Now, in 2.6 there are some significant changes. For one, with the > block layer rewrite and the ability to limit segment boundaries of a > block queue request with the blk_queue_segment_boundary() call, a LLDD > need not concern itself with any defensive fast-path logic to handle > the 4GB cross. Ditto 2.4. See BH_PHYS_4G(). > So, we're left with the benefits of the overhead of this merge process > done by the block layer. I'm certainly receptive to the notion of > reexamining the use of clustering given some solid data points showing > an (significant -- this is subjective) increase in performance and/or a > resounding 'yeah, enable it!' from those in the block-layer 'know.' In 2.6 clustering comes for free, so it would be silly not to enable it. -- Jens Axboe - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2005-03-22 13:58 [from the cache] ©2003-2008 | |||||||||||