block: add a request cache freelist in the io_context
authorJens Axboe <jaxboe@fusionio.com>
Fri, 4 Mar 2011 21:29:40 +0000 (22:29 +0100)
committerJens Axboe <jaxboe@fusionio.com>
Fri, 4 Mar 2011 21:59:56 +0000 (22:59 +0100)
commit427ec31b74d59878d5ff308ca106e864282e8c19
tree260b2e46687c9e31e84175a1c7de5ac7bc02fc74
parent72a116f0ecd0bd275abd8059248238bee519858a
block: add a request cache freelist in the io_context

Instead of always directly freeing a request, add a freelist
in the io_context. This is done if we are under the full limit
of the queue, with the idea being that a busy disk should then
never touch the memory allocator.

We need to augment this with some way of responding to memory
pressure.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
block/blk-core.c
block/blk-ioc.c
block/blk.h
include/linux/iocontext.h