xen/manage: Always freeze/thaw processes when suspend/resuming
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Mon, 18 Aug 2014 09:41:36 +0000 (10:41 +0100)
committerDavid Vrabel <david.vrabel@citrix.com>
Tue, 2 Sep 2014 14:36:59 +0000 (15:36 +0100)
commit0f1eec7d91c0478c086527ff5b7a25eb8cbdc44f
tree9b2881c503893fadb5b219a2b88f72461d2ccd7e
parente7418e81e755ee22dcb3475c1259d478f01af85e
xen/manage: Always freeze/thaw processes when suspend/resuming

Always freeze processes when suspending and thaw processes when resuming
to prevent a race noticeable with HVM guests.

This prevents a deadlock where the khubd kthread (which is designed to
be freezable) acquires a usb device lock and then tries to allocate
memory which requires the disk which hasn't been resumed yet.
Meanwhile, the xenwatch thread deadlocks waiting for the usb device
lock.

Freezing processes fixes this because the khubd thread is only thawed
after the xenwatch thread finishes resuming all the devices.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Cc: stable@vger.kernel.org
drivers/xen/manage.c