2

malloc作業中のドライバーのカーネルスペースを使用してスペースを割り当てようとしています(使用mallocはここでの制約です。他の方法でスペースを割り当てることはできません)が、「多すぎる」要素を割り当てようとすると(非常に小さな構造体の約500倍)、必要なスペースのごく一部だけが実際に割り当てられます。

割り当てられた要素の数を減らすことは、問題なく機能しました。カーネル空間での動的割り当てには、私が見ている動作を引き起こす可能性のある制限がありますか?

4

1 に答える 1

3

mallocユーザー空間ライブラリ関数です。カーネル空間では使用できません。カーネル空間にメモリを割り当てるために使用されるkmalloc()という関数があります。

vmalloc()も使用できます。このスレッドを読むことをお勧めしますvmalloc と kmalloc の違いは何ですか? vmalloc() と kmalloc() に関するいくつかの説明。

また、SO でクエリを検索してから、質問をすることをお勧めします。なぜなら、すでに誰かがここで尋ねたからです

于 2012-10-18T11:43:32.213 に答える