That's the batching code, which is somewhat intertwined with the same
code.
The batching code is a separate issue: when we free the requests, we don't
actually make them available as they get free'd (because then the waiters
will trickle out new requests one at a time and cannot do any merging
etc).
Also, the throttling code probably _did_ make behaviour nicer back when
"sync()" used to use ll_rw_block(). Of course, now most of the IO layer
actually uses "submit_bh()" and bypasses this code completely, so only the
ones that still use it get hit by the unfairness. What a double whammy ;)
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/