This discussion is archived
0 Replies Latest reply: Aug 22, 2012 10:59 PM by 957413 RSS

DMA memory allocation at bootup

957413 Newbie
Currently Being Moderated
I am porting a Linux Network driver to Solaris 10 (x86).

I am facing a problem during DMA memory allocation:
I need to allocate blocks of 9000 byte contiguous DMA memory for my receive buffer. I am using ddi_dma_alloc to allocate memory. I need contiguos memory hence sgllen is set to 1.
If the system is up an running and I add the driver, the driver gets all the required number of DMA blocks.
Once the driver is installed and the system is rebooted, the driver is picked up by the OS to be loaded. During bootup load, the memory allocation fails after a few blocks are allocated. But after the system is up, if I manually add the driver the memory allocation succeeds.

Is there a limitation on the amount of memory Solaris can allocate during bootup? If yes, is there a way to modify this?

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points