プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

メッセージペディアのpage allocation failureの説明 このエントリーをはてなブックマークに追加

http://ossmpedia.org/messages/linux/2.6.9-34.EL/482.ja

 物理ページの確保に失敗した。要求したサイズと確保時に指定した空きページの探索方法を表示する。

 物理メモリが不足している場合に発生する。また,空きメモリが充分であっても,物理メモリが断片化し要求サイズ分の物理ページが連続して確保できない場合は発生する。



うーむ、この説明だと普通のときは出ないメッセージであるかのように書いてあるが、んなこたーない。
ネットワーク系のドライバだとパケット受け取った時に、そのデータを格納する用のメモリ確保を行うことが多いのだが、そのときに使われる関数 netdev_alloc_skb() は __GFP_NOWARN を立てない。

かつ、Linuxはメモリ管理哲学としてぎりぎりまでメモリを開放せずにキャッシュとして使い続け、メモリ確保要求が来てから開放する仕組みをとっているが、割り込みの延長からはロックの都合上この開放処理がおこなえないので、通常よりかなり高い確率でメモリ確保は失敗する。

なので、ある種のネットワークカード(特にe1000とtg3)は高負荷時にしばしばpage allocation failureのメッセージを出すが、これは高負荷だったので、パケット1つ捨てたよーーん。という意味でしかなく、どうせ流れてるのはTCP/IPだろうからACKしなきゃ再送してくるっしょ。という意味であり、特に対処は必要ない。

先日Andrew Mortonがe1000にだけスペシャルなハックいれてワーニングを回避しようとしていたので、tg3で起きるよーん。ジェネリックなレイヤで直そうぜーというメールを書いてみたのだが、Dave Millerのお気にめさなかったらしく、物理連続なメモリを要求するハードなんて腐ってるぜー、そんなもののために対応したくないぜー。と却下されてしまった。

# 加えて、古いLinuxのドライバはエラー対応が腐ってるドライバが多いので
# デフォルトをNOWARNにするのはありえないらしい

よって、この問題は技術的な問題ではないので、直る見込みがない。
e1000ユーザは枕を涙で濡らしてください。

#あ、TG3はIOMMUがあるのにドライバが使ってないだけなので、ドライバメンテナが
#ドライバ書き直す宣言をしているので、将来的に直るらしい


BTW: ところで、メッセージペディアの書き込み権限ってどうやったら手に入るのかいね?
こういうの気になるんだけど
関連記事


linux | 【2008-04-27(Sun) 03:56:06】 | Trackback:(0) | Comments:(2)
コメント
>BTW: ところで、メッセージペディアの書き込み権限ってどうやったら手に入るのかいね?
>こういうの気になるんだけど

コンテンツライター登録
http://ossmpedia.org/team/registry

>現在、招待制にしております。招待キーコードを得るために、「get keycode」のリンクのアドレスへ
>登録したいメールアドレスからメールを送付してください。その際に本文に何かコメント(意気込み、
>どこでこのサイトを知ったか等)をお願いします。

mallocへの熱い情熱をぶつけるんだ!!
2008-04-28 月 21:43:05 | URL | yoshida #Whj5.BM. [ 編集]

残念ながら今はカーネル屋さんなんですよー
2008-04-29 火 01:17:38 | URL | kosaki #- [ 編集]
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。