lkml.org 
[lkml]   [2000]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: ll_rw_blk.c fails to merge requests. Help!

>> MF means: failed to merge block xxx length yyy
>> REQ: got new request entry
>> NOREQ: failed to get new request entry and go to sleep
>> ADD: block xxx length yyy added (not merged) to the queue
>
> Are you logging the _reason_ that the buffer is not being merged?

Yes, they're not merged because the are no contiguous blocks in the list.

> Also, have you looked into
> how the elevator works and when/why it deliberately doesn't merge buffers?

Yes, I think

if (!MERGE(rq))
ADD_NEW(rq);

is not atomic when the list is full.

>> Problems begin here: block 130972/4 cannot be merged and the list if full.
>>
>> Aug 19 22:17:21 Jay kernel: MF 130972 4
>> Aug 19 22:17:21 Jay kernel: NOREQ 130972 ---+
>
> You will only see the noreq case, when the elevator has already tried
> and merged the block (it would make no sense to block waiting for a
> free request slot, if the buffer could have been merged)

NOREQ is shoun only when it tries to add a new item to the list, but it is
full.

> and either
> found that no matches were found, or that coalescing should not be
> done because of latency considerations.

Elevator latency is not the problem in this case. (Yes, I checked it too)

Bye.
Giuliano Pochini ->)|(<- Shiny Corporation {AS6665} ->)|(<-

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:38    [W:0.144 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site