On Thu, Nov 22, 2018 at 09:02:13AM +1100, Finn Thain wrote: > > you in the To list maintain or wrote SCSI drivers that set the > > DISABLE_CLUSTERING flag, which basically disable merges of any > > bio segments. We already have the actual max_segment size limit > > to say which length a segment should have, independent of merged > > or originally created, so this limit generally should rarely if > > ever be required, and mostly is an old cut an paste error. > > > > Are you referring to > blk_queue_max_segment_size(q, dma_get_max_seg_size(dev)); > in drivers/scsi/scsi_lib.c? > > Is the segment size limitation of the DMA controller the only reason to > want DISABLE_CLUSTERING? DISABLE_CLUSTERING mixes up two not really related things: 1) limit the size of each segment to a single page size 2) limit each segment to not actually span a page boundary. Both could be valid limit for DMA engines, but also might be particularly relevant for pio, if you e.g. kmap each page of a scatterlist do do pio you'd want to see both limits.