diff options
author | Wei Wang <wei.w.wang@intel.com> | 2019-01-07 02:01:05 -0500 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2019-03-06 11:19:33 -0500 |
commit | 53e946cb347e8993cee1d091c97a38be73d34bdd (patch) | |
tree | ac1cc6a6413031afedf6d2c789c318fa6e001392 | |
parent | fd1068e1860e44aaaa337b516df4518d1ce98da1 (diff) |
virtio-balloon: improve update_balloon_size_func
There is no need to update the balloon actual register when there is no
ballooning request. This patch avoids update_balloon_size when diff is 0.
Signed-off-by: Wei Wang <wei.w.wang@intel.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r-- | drivers/virtio/virtio_balloon.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c index fb12fe205f86..e33dc8e9e87d 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c | |||
@@ -457,9 +457,12 @@ static void update_balloon_size_func(struct work_struct *work) | |||
457 | update_balloon_size_work); | 457 | update_balloon_size_work); |
458 | diff = towards_target(vb); | 458 | diff = towards_target(vb); |
459 | 459 | ||
460 | if (!diff) | ||
461 | return; | ||
462 | |||
460 | if (diff > 0) | 463 | if (diff > 0) |
461 | diff -= fill_balloon(vb, diff); | 464 | diff -= fill_balloon(vb, diff); |
462 | else if (diff < 0) | 465 | else |
463 | diff += leak_balloon(vb, -diff); | 466 | diff += leak_balloon(vb, -diff); |
464 | update_balloon_size(vb); | 467 | update_balloon_size(vb); |
465 | 468 | ||