7
vmallocとkmallocの違いは何ですか?
kmallocメモリの連続した物理ブロックを取得することが保証されているので、私はググったところ、ほとんどの人がの使用を提唱していることがわかりました。ただし、kmalloc必要な連続した物理ブロックが見つからない場合、失敗する可能性もあります。 メモリの連続したブロックを持つことの利点は何ですか?具体的には、システムコールに連続した物理メモリブロックが必要なのはなぜですか?使用できない理由はありますか? 最後に、システムコールの処理中にメモリを割り当てる場合、指定する必要がありますか?システムコールはアトミックコンテキストで実行されますか?vmallocGFP_ATOMIC GFP_ATOMIC 割り当ては優先度が高く、スリープしません。これは、割り込みハンドラー、下半分、およびスリープできないその他の状況で使用するフラグです。 GFP_KERNEL これは通常の割り当てであり、ブロックされる可能性があります。これは、スリープしても安全なときにプロセスコンテキストコードで使用するフラグです。
113
c
linux-kernel
kmalloc
vmalloc