Re: ll_rw_blk.c fails to merge requests. Help!

From: Jens Axboe (axboe@suse.de)
Date: Wed Aug 23 2000 - 17:45:54 EST


On Wed, Aug 23 2000, Giuliano Pochini wrote:
> 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?
Simply saying it's not merged is a bit rough, it would be nice to know
why the elevator couldn't/wouldn't merge it. Also, have you looked into
how the elevator works and when/why it deliberately doesn't merge buffers?

> 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) and either
found that no matches were found, or that coalescing should not be
done because of latency considerations.

-- 
* Jens Axboe <axboe@suse.de>
* SuSE Labs
-
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/



This archive was generated by hypermail 2b29 : Wed Aug 23 2000 - 21:00:10 EST