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

Yasushi SHOJI email@hidden
2008年 8月 28日 (木) 16:49:18 JST


取り急ぎ、

At Thu, 28 Aug 2008 15:21:41 +0900,
fukunaga wrote:
> 
> >もしかすると、完全にGCされていないんじゃないでしょうか?
> >test.csvを移動すると、どうなります?移動のときに mvではなくて以下のコ
> >マンドで移動してみてください。
> >
> >         $ mv test.csv test.orig
> >         $ cat test.orig > test.csv
> >         $ rm test.orig
> >
> >この後に lsするとどうなりますか?
> 
> 実行しました。するとGCが働くのか、マウント直後のUsedサイズが小さくなり、
> 52秒だったlsが3秒になりました!!
> ただ、その後アンマウント・マウントを繰り返しても変化はありませんでした。
> 書き込んだことでGCが動作起動されたように見えます。

おー、なるほど。ってことは、jffs2の制限ですね。
(GCって書いてしまいましたが、速度の方はGCじゃなくて play-backですね。
サイズが減るのは GCのおかげです)

書き込みがあるたびに、logを取っていく仕組みなので読み込みのときは、そ
れらを辿っていって再生しなければいけない仕組みです。フラッシュメモリの
構造上そうするのが良いのですが、今回のように大量の書き込みを行なうと
play-backに時間がかかるようです。

catして別のファイルにすることで、play-backに必要な処理が減るため、
readdir()の速度が上ると思います。(ただ、readdir()なのに、data blockの
再生が必要になっているのは、直せそうですけどね。)

http://sourceware.org/jffs2/jffs2-slides-transformed.pdf

の、12ページ目に説明があります。
-- 
             yashi



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