Jens Axboe wrote:
> On Thu, Dec 28 2006, Tom Zanussi wrote:
>
>> Hi,
>>
>> It looks like the documentation is wrong - from the blkparse code,
>> apparently 'B' means 'Bounce', and is what's actually used instead of
>> the 'W' the documentation has. 'Backmerge' according to the code is
>> actually 'M', and is used instead of the 'B' the documentation has for
>> that. There doesn't seem to be anything that uses 'front or back
>> merge' as described for 'M' in the documentation. There also seems to
>> be the same mixup in the formatting code.
>>
>> The patch below makes those changes according to my understanding of
>> how they're actually used in the code...
>>
>
> Tom, you are correct, the 'B' is a bounce and not a backmerge. Vasily,
> you may want to look into your setup, bouncing is very harmful to io
> performance.
>
> I've applied the patch, thanks!
>
>
Hello,
Tom, Jens, thanks for the answers, now blkparse output looks believable
for me.
However some places in the code to change were missed. The patch below adds
needed changes.
I will look at my configuration: why I have so much bounces, thanks.
Sorry for my unforgivably slow reaction: we had 12 days off
here due to New Year ;)
Thanks,
Vasily.
--- ./README.orig 2007-01-09 12:57:16.000000000 +0300
+++ ./README 2007-01-09 14:19:40.000000000 +0300
@@ -109,13 +109,13 @@ $ blkparse -i <input> [ -o <output> ] [
-F Format specification. The individual specifiers are:
A - Remap
- B - Back merge
+ B - Bounce
C - Complete
D - Issue
+ M - Back merge
F - Front merge
G - Get request
I - Insert
- M - Both front and back merge
P - Plug
Q - Queue
R - Requeue
--- ./blkparse_fmt.c.orig 2007-01-09 12:57:16.000000000 +0300
+++ ./blkparse_fmt.c 2007-01-09 14:09:55.000000000 +0300
@@ -49,14 +49,7 @@ int add_format_spec(char *option)
return 1;
}
- /*
- * Set both merges (front and back)
- */
- if (spec == 'M') {
- override_format['B'] = strdup(option);
- override_format['M'] = strdup(option);
- } else
- override_format[spec] = strdup(option);
+ override_format[spec] = strdup(option);
return 0;
}