Skip to content

Commit

Permalink
hv_balloon: Use a static page for the balloon_up send buffer
Browse files Browse the repository at this point in the history
It's unnecessary to dynamically allocate the buffer.

Signed-off-by: Dexuan Cui <[email protected]>
Reviewed-by: Michael Kelley <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
  • Loading branch information
dcui authored and Sasha Levin committed Jul 30, 2019
1 parent 5f9e832 commit 1fed17d
Showing 1 changed file with 4 additions and 15 deletions.
19 changes: 4 additions & 15 deletions drivers/hv/hv_balloon.c
Original file line number Diff line number Diff line change
Expand Up @@ -494,7 +494,7 @@ enum hv_dm_state {


static __u8 recv_buffer[PAGE_SIZE];
static __u8 *send_buffer;
static __u8 balloon_up_send_buffer[PAGE_SIZE];
#define PAGES_IN_2M 512
#define HA_CHUNK (32 * 1024)

Expand Down Expand Up @@ -1292,8 +1292,8 @@ static void balloon_up(struct work_struct *dummy)
}

while (!done) {
bl_resp = (struct dm_balloon_response *)send_buffer;
memset(send_buffer, 0, PAGE_SIZE);
memset(balloon_up_send_buffer, 0, PAGE_SIZE);
bl_resp = (struct dm_balloon_response *)balloon_up_send_buffer;
bl_resp->hdr.type = DM_BALLOON_RESPONSE;
bl_resp->hdr.size = sizeof(struct dm_balloon_response);
bl_resp->more_pages = 1;
Expand Down Expand Up @@ -1578,19 +1578,11 @@ static int balloon_probe(struct hv_device *dev,
do_hot_add = false;
#endif

/*
* First allocate a send buffer.
*/

send_buffer = kmalloc(PAGE_SIZE, GFP_KERNEL);
if (!send_buffer)
return -ENOMEM;

ret = vmbus_open(dev->channel, dm_ring_size, dm_ring_size, NULL, 0,
balloon_onchannelcallback, dev);

if (ret)
goto probe_error0;
return ret;

dm_device.dev = dev;
dm_device.state = DM_INITIALIZING;
Expand Down Expand Up @@ -1716,8 +1708,6 @@ static int balloon_probe(struct hv_device *dev,

probe_error1:
vmbus_close(dev->channel);
probe_error0:
kfree(send_buffer);
return ret;
}

Expand All @@ -1736,7 +1726,6 @@ static int balloon_remove(struct hv_device *dev)

vmbus_close(dev->channel);
kthread_stop(dm->thread);
kfree(send_buffer);
#ifdef CONFIG_MEMORY_HOTPLUG
restore_online_page_callback(&hv_online_page);
unregister_memory_notifier(&hv_memory_nb);
Expand Down

0 comments on commit 1fed17d

Please sign in to comment.