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)
commit61a734d305e16944b42730ef582a7171dc733321
tree9b2881c503893fadb5b219a2b88f72461d2ccd7e
parent7d951f3ccb0308c95bf76d5eef9886dea35a7013
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