You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

内核中分配512MB DMA缓冲区失败的问题求助

内核中分配512MB DMA缓冲区失败的问题求助

我尝试了两种DMA内存分配方式,当分配大小超过4MB时都失败了:

  • 使用dma_alloc_coherent:
    virt_addr = dma_alloc_coherent(dma_dev, alloc_size, &phys_addr, GFP_KERNEL );
    
  • 使用dma_pool_create + dma_pool_alloc:
    mypool = dma_pool_create("mypool", dma_dev, alloc_size, pool_align, 0);
    virt_addr = dma_pool_alloc(mypool, GFP_ATOMIC , &phys_addr);
    

另外我发现当前内核(版本5.19.0-32-generic)没有开启CONFIG_CMA配置。请问这种情况下该如何分配512MB大小的DMA缓冲区呢?

谢谢!

备注:内容来源于stack exchange,提问作者dxyzhou-tiger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:12:43