Fix GFP flags passed from the virtio balloon driver
Subsystems (4)
PATCH RESEND 1/1 Fix GFP flags passed from the virtio balloon driver
Fix GFP flags passed from the virtio balloon driver
From: Balbir Singh <[email protected]>
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 avoids printing a warning if allocation fails.
Comments?
---
drivers/virtio/virtio_balloon.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
drivers/virtio/virtio_balloon.c +2 -1
@@ -102,7 +102,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,
Signature · 2 lines
Three Cheers, Balbir
PATCH 1/1 virtio: Fix GFP flags passed from the virtio balloon driver
From: Balbir Singh <[email protected]>
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.
--- drivers/virtio/virtio_balloon.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
drivers/virtio/virtio_balloon.c +2 -1
@@ -102,7 +102,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,
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
PATCH 1/1 virtio: Fix GFP flags passed from the virtio balloon driver
In reply to Balbir SinghFrom: Balbir Singh <[email protected]>
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.
--- drivers/virtio/virtio_balloon.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
drivers/virtio/virtio_balloon.c +2 -1
@@ -102,7 +102,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,