xen/balloon: make the balloon wait interruptible
So it can be killed, or else processes can get hung indefinitely waiting for balloon pages. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Reviewed-by: Juergen Gross <jgross@suse.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20200727091342.52325-3-roger.pau@citrix.com Signed-off-by: Juergen Gross <jgross@suse.com>
This commit is contained in:
parent
1951fa33ec
commit
88a479ff6e
|
@ -568,11 +568,13 @@ static int add_ballooned_pages(int nr_pages)
|
|||
if (xen_hotplug_unpopulated) {
|
||||
st = reserve_additional_memory();
|
||||
if (st != BP_ECANCELED) {
|
||||
int rc;
|
||||
|
||||
mutex_unlock(&balloon_mutex);
|
||||
wait_event(balloon_wq,
|
||||
rc = wait_event_interruptible(balloon_wq,
|
||||
!list_empty(&ballooned_pages));
|
||||
mutex_lock(&balloon_mutex);
|
||||
return 0;
|
||||
return rc ? -ENOMEM : 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue