It would seem that way. The main thing is that you don't want excessive scheduling between unrelated requests (which is what CFQ and elevator algorithms do), whereas things that are naturally large blocks you want to go as large blocks (such as a large streaming read or large streaming write).