[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0807131947090.7803@devserv.devel.redhat.com>
Date: Sun, 13 Jul 2008 19:53:01 -0400 (EDT)
From: Mikulas Patocka <mpatocka@...hat.com>
To: Andi Kleen <andi@...stfloor.org>
cc: David Miller <davem@...emloft.net>, sparclinux@...r.kernel.org,
linux-kernel@...r.kernel.org, jens.axboe@...cle.com
Subject: Re: [SUGGESTION]: drop virtual merge accounting in I/O requests
On Sun, 13 Jul 2008, Andi Kleen wrote:
> David Miller wrote:
>> From: Andi Kleen <andi@...stfloor.org>
>> 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
There is no need to turn BIO merge off --- the problem is caused by
accounting of BIO merging in block layer, not by BIO merging itself.
Just do #define BIO_VMERGE_BOUNDARY 0, and that disables the accounting,
but leaves merging as it is.
Mikulas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists