On Sun, 2010-07-25 at 20:12 +0800, Winson Wang wrote:
> On 2010-7-25 20:00, [email protected] wrote:
> > Re: dma memory allocation failure
>
> > Then I added several Gig of DDR memory module, however, the failure remains.
> I suspect your driver used all IOMMU space, on OPL, one root complex is 1GB.
> The page size as I know is 8K.
> Please check the ddi_dma_bind called times, if your requested buf size
> every time
> is lower than 8k, then every bind will casue IOMMU space 8k.
> You checked it in your driver, how much IOMMU space has been consumed in
> your driver.
If its 9K, it will be 16K of IOMMU address space consumed.
There may *also* be a limit on the number of IOMMU entries. I know some
platforms had such limitations. Perhaps you can try reducing from 1000
frames prealloc'd to something smaller -- say 512? Is this a 10GbE
driver? If its only 1GbE, then 512 ought to be enough.
-- Garrett
>
> Thanks,
> Winson
>
> > Each driver instance is allocating some miscellaneous buffers + 1k * 9000s
> > bytes buffers. The 4th instance boot up issue seems only happen on m3000
> > Sparc server(8G memory). I guess m3000 dma region is somewhat limited. I am
> > wondering how I can know its dma region range.
> >
> > Tom
>
> _______________________________________________
> driver-discuss mailing list
> [email protected]
> http://mail.opensolaris.org/mailman/listinfo/driver-discuss
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss