Re: ll_rw_blk.c and high memory
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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
ll_rw_blk.c and high memory
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)? 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. Mark - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
ll_rw_blk.c and high memory
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)? 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. Mark - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: ll_rw_blk.c and high memory
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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/