2012年11月8日のブックマーク (1件)

  • 循環リストのライブラリを作成しました - shimada-kの日記

    循環リストのライブラリを作成しました。 いずれはカーネル空間で捕捉されたイベントをユーザ空間のアプリケーションに通知させる際に使用するつもりです。似たようなデータ構造でリングバッファがあるのですが、カーネルでもdmesgや、oprofileなどで使われています。 dmesgは独自実装になっています。oprofileで使われているリングバッファはライブラリ化されていて、ソースはkernel/trace/ring_buffer.cにあります。 ただ、このライブラリは若干特殊な構造をしているようです。 リングバッファのバッファの数は論理CPUの数と等しくて、各CPUごとにバッファを1つ持っている 現在読み込みに使っているページ(Reader page)の読み込みが完了すると、書き込み用のバッファにswapされる ということで、CPUごとのイベントを計測する用途に特化した(?)リングバッファである

    循環リストのライブラリを作成しました - shimada-kの日記
    nigaky
    nigaky 2012/11/08