使用pci_alloc_consistent分配内存的限制是多少?

时间:2013-07-04 13:40:53

标签: c linux-kernel linux-device-driver

当我尝试使用 - cpuacct_charge分配600块2 MB内存时,为什么会出现pci_alloc_consistent的内核崩溃,有没有更好的方法呢?

2 个答案:

答案 0 :(得分:0)

你可能已经没有32位可寻址内存了。

如果你的PCIe芯片实际上支持更大的地址,你的驱动程序应该使用dma_set_maskdma_set_consistent_mask告诉内核这个。 (见Documentation/DMA-API-HOWTO.txt。)

答案 1 :(得分:0)

我可以使用__get_free_pages()分配内存。