Re: [PATCH 1/2] 2.6.19-rc2-mm1 ll_rw_blk.c: exportclear_queue_congested and set_queue_congested

From: Andrew Morton
Date: Tue Oct 17 2006 - 16:39:38 EST


On Tue, 17 Oct 2006 21:42:12 +0200
"Thomas Maier" <balagi@xxxxxxxxxxx> wrote:

> Hello,
>
> this patch exports the clear_queue_congested()
> and set_queue_congested() functions located in ll_rw_blk.c
>
> The functions are renamed to blk_clear_queue_congested()
> and blk_set_queue_congested().

OK.

Aside:

The congestion info really has nothing to do with "queues". It is actually
an attribute of the backing_dev_info. NFS should/will be using them, and
NFS doesn't have queues.

What we should have is set_bdi_read_congested(),
clear_bdi_read_congested(), bdi_read_congested(), bdi_write_congested(),
etc. Some of these are already in backing-dev.h.

Sometime we should add [set|clear]_bdi_[read|write]_congested() to
backing-dev.h and make the block code call them. And move the waitqueue
stuff in clear_queue_congested() out of the block layer and into, umm, mm/
I guess. And rename blk_congestion_wait() to congestion_wait() and move it
into mm/ too.

If all of this is done, the kernel would actually link with CONFIG_BLOCK=n.

But none of this has anything to do with your patch, except that we need to
get your patch in fast because we'd like CONFIG_BLOCK=n to work.

> (needed in the pktcdvd driver's bio write congestion control)
>
> (have the bits set with set_queue_congested() any use?
> seems they are never used by anyone....)

bdi_write_congested() is tested in several places. bdi_read_congested() is
tested in the readahead code too, although I doubt if queues get
read-congested very often.


> Signed-off-by: Thomas Maier <balagi@xxxxxxxxxxx>
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/