Messages in this thread | | | Date | 24 Jun 2004 20:51:56 +0200 | Date | Thu, 24 Jun 2004 20:51:56 +0200 | From | Andi Kleen <> | Subject | Re: 32-bit dma allocations on 64-bit platforms |
| |
On Thu, Jun 24, 2004 at 10:44:29AM -0500, Terence Ripperda wrote: > On Wed, Jun 23, 2004 at 04:46:44PM -0700, ak@muc.de wrote: > > pci_alloc_consistent is limited to 16MB, but so far nobody has really > > complained about that. If that should be a real issue we can make > > it allocate from the swiotlb pool, which is usually 64MB (and can > > be made bigger at boot time) > > In all of the cases I've seen, it defaults to 4M. in swiotlb.c, > io_tlb_nslabs defaults to 1024, * PAGE_SIZE == 4194304.
I checked this now.
It's
#define IO_TLB_SHIFT 11
static unsigned long io_tlb_nslabs = 1024;
and the allocation does
io_tlb_start = alloc_bootmem_low_pages(io_tlb_nslabs * (1 << IO_TLB_SHIFT));
which contrary to its name does not allocate in pages (otherwise you would get 8GB of memory on x86-64 and even more on IA64) That's definitely far too small.
A better IO_TLB_SHIFT would be 16 or 17.
-Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |