virtio: Fix GFP flags passed from the virtio balloon driver
The virtio balloon driver can dig into the reservation pools of the OS to satisfy a balloon request. This is not advisable and other balloon drivers (drivers/xen/balloon.c) avoid this as well. The patch also adds changes to avoid printing a warning if allocation fails, since we retry after sometime anyway. Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: kvm <kvm@vger.kernel.org> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
b7b6cf005b
Коммит
61fb06cc8e
|
@ -103,7 +103,8 @@ static void fill_balloon(struct virtio_balloon *vb, size_t num)
|
|||
num = min(num, ARRAY_SIZE(vb->pfns));
|
||||
|
||||
for (vb->num_pfns = 0; vb->num_pfns < num; vb->num_pfns++) {
|
||||
struct page *page = alloc_page(GFP_HIGHUSER | __GFP_NORETRY);
|
||||
struct page *page = alloc_page(GFP_HIGHUSER | __GFP_NORETRY |
|
||||
__GFP_NOMEMALLOC | __GFP_NOWARN);
|
||||
if (!page) {
|
||||
if (printk_ratelimit())
|
||||
dev_printk(KERN_INFO, &vb->vdev->dev,
|
||||
|
|
Загрузка…
Ссылка в новой задаче