On Thu, Apr 26 2007, Alok kataria wrote: > Hi Jeff, > > I recently got a new AHCI disk, and was using the AHCI-libata driver to run > this. I noticed that the scattergather lists that were being built for > the I/O on this device were just of PAGE_SIZE length, even though i > was doing IO on > contiguous pages. > > Through a little instrumentation i figured out that the use_clustering > bit in the ahci_sht (scsi_host_template) is set to zero. Due to which > we are not putting consecutive bios into one sg in blk_rq_map_sg. > > I tried changing the clustering bit to 1, but encountered a panic at > the initialization of the disks during the bootup process, and so > couldn't entirely get hold of the panic mesg. > I was wondering, though the max segment size suported with this driver > is 65536, why was i not able to feed in bigger SG's to this driver. > > I searched on the net and the intel ahci arch doc too but couldn't > find anything relative to the clustering support for AHCI. > > It would be great help if you could let me know about the possible > problems with clustering on AHCI ? why is it off by default in the > driver ? or anything else that might help. It's a good question. If you look at the documentation, it states that ahci supports up to 64k sg entries and each can have a size of up to 4mb (bits 0 through 21). So as far as I can tell, clustering should work with a segment size up to those 4mb. ahci has always had clustering disabled, perhaps Jeff can expand on why? -- Jens Axboe - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html