FreeBSD の kmem_arena、 kernel_arena、と kva_alloc2014年10月02日 20時42分22秒

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 から出てくるらしい。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2014/10/02/7448280/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。