xen-blkback: use balloon pages for all mappings
authorRoger Pau Monne <roger.pau@citrix.com>
Wed, 17 Apr 2013 18:18:56 +0000 (20:18 +0200)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 18 Apr 2013 13:29:22 +0000 (09:29 -0400)
commitc6cc142dac52e62e1e8a2aff5de1300202b96c66
tree6123fb46fd4f4e3c8460852c9b215edc7a1f1c7a
parentc1a15d08f497150a91ba4e61bab54b8f5c8b49b9
xen-blkback: use balloon pages for all mappings

Using balloon pages for all granted pages allows us to simplify the
logic in blkback, especially in the xen_blkbk_map function, since now
we can decide if we want to map a grant persistently or not after we
have actually mapped it. This could not be done before because
persistent grants used ballooned pages, whereas non-persistent grants
used pages from the kernel.

This patch also introduces several changes, the first one is that the
list of free pages is no longer global, now each blkback instance has
it's own list of free pages that can be used to map grants. Also, a
run time parameter (max_buffer_pages) has been added in order to tune
the maximum number of free pages each blkback instance will keep in
it's buffer.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Cc: xen-devel@lists.xen.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Documentation/ABI/stable/sysfs-bus-xen-backend
drivers/block/xen-blkback/blkback.c
drivers/block/xen-blkback/common.h
drivers/block/xen-blkback/xenbus.c