|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] dom0 boot failure: dma_reserve in reserve_bootmem_generic()
Hi,
I've been debugging an interesting dom0 boot failure which happens
only on certain machines when dom0_mem=830M. A scsi driver fails to
allocate 512 bytes in GFP_DMA. However, the system boots with 500M or
930M. The root cause:
reserve_bootmem_generic():
....
if (phys+len <= MAX_DMA_PFN*PAGE_SIZE)
dma_reserve += len / PAGE_SIZE; <---
In case of 830M, phys+len is just enough to set dma_reserve where
the dma memory zone is then 'holed' out. With less dom0_mem, it
leaves few pages for GFP_DMA. With more, phys+len is larger than
MAX_DMA_PFN*PAGE_SIZE and it skips setting dma_reserve so DMA cache is
good again.
So, anyone know the point of setting dma_reserve? Obviously, things
are implied OK without it, so would it be safe to just remove the
if stmt completely?
thanks a lot,
Mukesh
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] dom0 boot failure: dma_reserve in reserve_bootmem_generic(),
Mukesh Rathor <=
|
|
|
|
|