David Miller wrote:From: Andi Kleen <andi@xxxxxxxxxxxxxx>
Date: Sun, 13 Jul 2008 15:50:55 +0200
Still I would expect that modern IO controllers are typically fast
enough at processing SG lists that it shouldn't matter much.
I know it matters a lot on sparc64 ESP scsi controllers.
You can only have one address/len pair DMA'ing at a time and you have
to service an interrupt to load in the the next DMA sg elements into
the chips registers.
Merging is essentially a must for performance on those cards.
Well right now your setup breaks all controllers with "weird requirements"
like 64k DMA or similar. You'll need to find some way to turn off BIO
merge for those at least.
Perhaps this needs to be really a block queue attribute instead of a global?
-Andi