tarosukeの日記: [talos]メモリ管理 xi
日記 by
tarosuke
heapがマトモになってきた。log2nの計算からして間違ってたというダメっぷり。limitなしのPOOLにいきなり返却すると取り出せなくなるとかブロックサイズにアラインする処理を再帰でなく繰り返しにするとかいろいろ直してパケットバッファも取得できるようになったとさ。なのでne2kが中途半端だがcommitしておく。...あとメモリ管理で問題なのは仮想ページのMapを動かした事がないのと実ページを連続で割り当てる方法がマズイのと、heapのGetで属性を指定できるようにする事。それからページのキャッシュをフラッシュできるようにする事くらいか。
キャッシュのフラッシュは、たとえば8139でパケットを送信する時はバッファの実アドレスを指定してDMAで取りに来させるわけだけど、キャッシュに収まってるだけだと...あれ?ia32の場合はスヌーブしてくれるんだっけ?そういやLinuxでi386の場合キャッシュのフラッシュは空文だったような...もっとも移植性考えたらインターフェイスは用意しておく必要があるだろうな。
[talos]メモリ管理 xi More ログイン