DMA マッピング フレームワークの Contiguous Memory Allocator をテストしようとしています。CMA をサポートするカーネル 3.5.7 をコンパイルしました。これは実験的なものですが、動作するはずです。私の目標は、スキャッター/ギャザー機能のないデバイスのカーネル モジュールに物理的に連続した 32MB のメモリ チャンクをいくつか割り当てることです。
Barry Song のテスト パッチでシステムをテストしています: http://thread.gmane.org/gmane.linux.kernel/1263136
しかし、でメモリを割り当てようとすると、echo 1024 > /dev/cma_test
. 私は得るbash: echo: write error: No space left on device
。そしてdmesgで:misc cma_test: no mem in CMA area
何が問題なのですか?私は何が欠けていますか?システムが新たに再起動され、カーネル 3.2 の bigphysarea パッチが同様のシステムでその量を割り当てることができたため、少なくとも 350 MB の空き連続メモリがあるはずです。
お時間をいただきありがとうございます!