メモリ管理 - memblock_reserveのしくみ

メモリ管理 - memblock_reserveのしくみ

私はMarvel PXA986ボードを作業していますが、ボードファイルを見るとほとんど使用されていないことがわかりますmemblock_reserve。しかし、すぐ後ろに電話がかかっているのがわかりmemblock_reserveます。記憶を保存した直後に削除することはどういう意味ですか?memblock_freememblock_remove

誰でもmemblock APIを説明できますか?

ベストアンサー1

質問を理解したかどうかはわかりませんが、おそらくこれは少なくとも正しい方向を指す指示です。 APIに関しては、ソースコードを読む以外は何もしないと思います。

これはソースが言った内容の散文版に過ぎません。私が確認したバージョンは3.11.7です。

mm/memblock.c1) memblock_reserve() が特定の条件で memblock_double_array() を呼び出す memblock_add_region() を呼び出してから、特定の条件で memblock_free() を再び呼び出すと、関連するビットが素早く混在します。これは、カーネルが空き領域を見つけて配列がいっぱいになるのを防ぐために、実際のメモリ領域を指す配列を前の配列に移動する必要がある場合に発生します(267-278行を参照mm/memblock.c)。

要約すると: memblock_reserve() の直後に memblock_free() と memblock_remove() が呼び出されるのを見ると、これは必ずしもエラー条件ではないと思います。

おすすめ記事