xen: Avoid allocations causing swap activity on the resume path
authorIan Campbell <ian.campbell@citrix.com>
Tue, 17 Jun 2008 08:47:08 +0000 (10:47 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 3 Jul 2008 11:21:13 +0000 (13:21 +0200)
commita144ff09bc52ef3f3684ed23eadc9c7c0e57b3aa
tree344aa7d4722c4b2c39ca3e2fed302f0ff4d5668b
parent5a60d0cd4ff227c4c5212898ecbeeaf5662eb5fa
xen: Avoid allocations causing swap activity on the resume path

Avoid allocations causing swap activity on the resume path by
preventing the allocations from doing IO and allowing them
to access the emergency pools.

These paths are used when a frontend device is trying to connect
to its backend driver over Xenbus.  These reconnections are triggered
on demand by IO, so by definition there is already IO underway,
and further IO would naturally deadlock.  On resume, this path
is triggered when the running system tries to continue using its
devices.  If it cannot then the resume will fail; to try to avoid this
we let it dip into the emergency pools.

[ linux-2.6.18-xen changesets e8b49cfbdacfdb998e79aba ]

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
drivers/block/xen-blkfront.c
drivers/net/xen-netfront.c
drivers/xen/xenbus/xenbus_client.c
drivers/xen/xenbus/xenbus_xs.c