virtio_balloon: don't softlockup on huge balloon changes.
authorRusty Russell <rusty@rustcorp.com.au>
Thu, 13 Mar 2014 00:53:38 +0000 (11:23 +1030)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 May 2014 11:32:48 +0000 (13:32 +0200)
commitf52e31dc5f5f61db5bd08576b8189ada2a8c9b82
treea8de9c3b426af2e86f57b22b0d0fad5ca7ac25ee
parent771004298d9a73ff1bca0b4ff5168c74d3ff7af0
virtio_balloon: don't softlockup on huge balloon changes.

commit 1f74ef0f2d7d692fcd615621e0e734c3e7771413 upstream.

When adding or removing 100G from a balloon:

    BUG: soft lockup - CPU#0 stuck for 22s! [vballoon:367]

We have a wait_event_interruptible(), but the condition is always true
(more ballooning to do) so we don't ever sleep.  We also have a
wait_event() for the host to ack, but that is also always true as QEMU
is synchronous for balloon operations.

Reported-by: Gopesh Kumar Chaudhary <gopchaud@in.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/virtio/virtio_balloon.c