[lkml]   [2000]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
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))

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

> 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)

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

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

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