[Armadillo:03050] Re: NAND上のファイルへのlsに時間がかかります

chris email@hidden
2008年 6月 23日 (月) 13:59:55 JST


マカーグです。

takahashi takamichi wrote:
> Armadillo220 + 256MB NANDという構成で使っています。
> ある日から、マウントしたNANDにlsを実行すると暫く応答が返って来なくなりま
> した。10分くらい待っていると正常に終わるのですが、これでは実用に耐えない
> ので困っています。

JFFS2でマウントする時や最初にアクセスする時は確かに遅いですが、10分は異
常ですね。

> NANDには、特に大きいファイルを置いているわけでもなく、合計で約13MBほどし
> か使用していません。

13MBのデータ量とのことですが、どうやって確認したのでしょうか。
また、ファイルのデータ量だけではなくて、ファイルシステムの空き量がどのぐ
らいになっているか気になります。df で確認して頂けるでしょうか。

> 応答がない間、topでプロセスを観察していると、
> jffs2_gcd_mtd4というプロセスのCPU使用率が約99%でした。
> 約10分ほどその状態が続き、このプロセスのCPU使用率が0%になると、
> 応答が返ってくるようでした。

GCのスレッドが担当処理を終わらすまで99%で10分実行し続けるというのは、

 * ファイルシステム(NANDのパーティション)がいっぱいになっている
 * NANDブロックの削除が失敗している
 * JFFS2に不具合がある

などの原因を考えれるかもしれません。

この問題は必ず起こるのでしょうか。例えば、NANDを削除(flash_eraseall)し
ても、13MBのデータを書き込んだら同じふうになってしまうのでしょうか。

必ず起こるのであれば、どういう条件で起こりやすいのかを教えて頂けたらこち
らでもっとうまく調査できると思います。

また、カーネルのmake menuconfigでJFFS2のデバッグを有効にしたら何か分るか
もしれませんので、もしよかったら試してみてください。

File systems  --->
  Miscellaneous filesystems  --->
    <*> Journalling Flash File System v2 (JFFS2) support
    (2)   JFFS2 debugging verbosity (0 = quiet, 2 = noisy)




armadillo メーリングリストの案内