On Wed, Jan 06, 2016 at 02:29:16PM +0800, Ming Lei wrote: > Also not mention your patch doesn't update front_seg_size/back_seg_size/ > seg_size correctly. > > That is why I said we should be careful about splitting bvec because it > is never used or supported before. Ok, that's an easy fix, but it's not really a functional difference. The request is not mergeable after this, which is the only use for back and front seg sizes. > > The nvme driver is okay to take physically merged pages. It splits them > > into PRPs accordingly, and it's faster to DMA map physically contiguous > > just because there are fewer segments to iterate, so NVMe would prefer > > to let them coalesce. > > If so, NO_SG_MERGE should be removed now. Sounds good. > Could you share your test case? Last time I use null_blk to observe > the performance difference between NO_SG_MERGE vs. non-NO_SG_MERGE, > and basically no difference is observed. null_blk doesn't do anything, so it's probably difficult to measure that. Use a driver that DMA maps the data, uses MMIO to submit to h/w and takes an interrupt. You can measure all these when you create 50% more commands than necessary with unneeded splits. -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html