xen-swiotlb: Retry up three times to allocate Xen-SWIOTLB
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 22 Jul 2011 16:46:43 +0000 (12:46 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 26 Aug 2011 16:10:15 +0000 (12:10 -0400)
commitf4b2f07b2ed9b469ead87e06fc2fc3d12663a725
tree242eca67acfa3e53b698a92031d4e8ec928f9b7f
parent917e3e65c35459d52f0d0b890aa5df0cad07a051
xen-swiotlb: Retry up three times to allocate Xen-SWIOTLB

We can fail seting up Xen-SWIOTLB if:
 - The host does not have enough contiguous DMA32 memory available
   (can happen on a machine that has fragmented memory from starting,
   stopping many guests).
 - Not enough low memory (almost never happens).

We retry allocating and exchanging the swath of contiguous memory
up to three times. Each time we decrease the amount we need  - the
minimum being of 2MB.

If we compleltly fail, we will print the reason for failure on the Xen
console on top of doing it to earlyprintk=xen console.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/xen/swiotlb-xen.c