FreeBSD の kmem_arena、 kernel_arena、と kva_alloc
2014-10-02


What's the difference between kmem_arena and kernel_arena? との質問が hackers メーリングリストにされた。

返答は、

kmem_arena is used for the kernel malloc() and page-sized uma allocations.
kernel_arena is used by miscellaneous other kernel needs, e.g. for kernel stacks of threads, as the backing for kva_alloc() etc. との事。とは言っても、これでもかなり分かりづらい。

カーネルコードを見ると、kmem_alloc と kva_alloc に良く出くわす。kmem_alloc が UMA を基にした固定長のメモリ管理領域で、kva_alloc は kernel_arena から出てくるらしい。

[FreeBSD]
[memo]
[sys]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット