|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] linux: don't round up swiotlb slab count
This has been unnecessary for a long time, as xen_create_contiguous_region()
is no longer called on the whole area at once, and the rounding can (under
certain circumstances) prevent the kernel from successfully booting when a
larger than the default size is needed.
As usual, written and tested on 2.6.27-rc4 and made apply to the 2.6.18
tree without further testing.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
Index: head-2008-08-22/lib/swiotlb-xen.c
===================================================================
--- head-2008-08-22.orig/lib/swiotlb-xen.c 2008-08-29 09:48:32.000000000
+0200
+++ head-2008-08-22/lib/swiotlb-xen.c 2008-08-29 09:51:17.000000000 +0200
@@ -114,9 +114,6 @@ setup_io_tlb_npages(char *str)
iotlb_nslabs = simple_strtoul(str, &str, 0) <<
(20 - IO_TLB_SHIFT);
iotlb_nslabs = ALIGN(iotlb_nslabs, IO_TLB_SEGSIZE);
- /* Round up to power of two (xen_create_contiguous_region). */
- while (iotlb_nslabs & (iotlb_nslabs-1))
- iotlb_nslabs += iotlb_nslabs & ~(iotlb_nslabs-1);
}
if (*str == ',')
++str;
@@ -147,9 +144,6 @@ swiotlb_init_with_default_size(size_t de
if (!iotlb_nslabs) {
iotlb_nslabs = (default_size >> IO_TLB_SHIFT);
iotlb_nslabs = ALIGN(iotlb_nslabs, IO_TLB_SEGSIZE);
- /* Round up to power of two (xen_create_contiguous_region). */
- while (iotlb_nslabs & (iotlb_nslabs-1))
- iotlb_nslabs += iotlb_nslabs & ~(iotlb_nslabs-1);
}
bytes = iotlb_nslabs * (1UL << IO_TLB_SHIFT);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [PATCH] linux: don't round up swiotlb slab count,
Jan Beulich <=
|
|
|
|
|