On Thu, 2012-01-05 at 19:52 -0800, Tejun Heo wrote: > 5e84ea3a9c "block: attempt to merge with existing requests on plug > flush" added support for merging requests on plug flush and 274193224c > "block: recursive merge requests" added recursive merging. > > Because these mergings happen before the request is inserted on the > elevator, the usual elv_latter/former_request() can't be used to > locate merge candidates. It instead used bio merging mechanism - > last_merge hint and rqhash; unfortunately, this means that the > elevator doesn't have a say in which are allowed to merge and which > aren't. > > For cfq, this resulted in merges across different cfqq's which led to > crashes as requests jump between different cfqq's unexpectedly. > > Proper solution would be improving merge mechanism such that we can > always query elevator to find out merge candidates and remove rqhash; > however, the merge window is already upon us. Disable > INSERT_SORT_MERGE for now. > > For detailed discussion of the bug: > > http://thread.gmane.org/gmane.linux.kernel.next/20064/focus=20159 > this is overkill. when plug is added, we found huge performance regression, that's why we add INSERT_SORT_MERGE. Thanks, Shaohua -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html