Re: ll_rw_blk.c and high memory

Jens Axboe (axboe@kernel.org)
Wed, 30 May 2001 14:08:49 +0200


On Wed, May 30 2001, Mark Hemment wrote:
> Hi Jens, all,
>
> In drivers/block/ll_rw_blk.c:blk_dev_init(), the high and low queued
> sectors are calculated from the total number of free pages in all memory
> zones. Shouldn't this calculation be passed upon the number of pages upon
> which I/O can be done directly (ie. without bounce pages)?

Yes it should

> On a box with gigabytes of memory, high_queued_sectors becomes larger
> than the amount of memory upon which block I/O can be directly done - the
> test in ll_rw_block() against high_queued_sectors is then never true. The
> throttling of submitting I/O happens much earlier in the stack - at
> the allocation of a bounce page. This doesn't seem right.

It's not, I've known this for some time. With some queues doing highmem
I/O though, it becomes less easy to do it. But I'll just change it to
look at the number of low mem pages available. I doubt it would matter
much, the throttling is mainly meant for machines short on memory. For
machines with lots of RAM, the throttling will probably never be
activated anyway.

-- 
Jens Axboe

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