I'm trying to analyze how different filesystems, settings and user mode settings interact with write amplification and write endurance on flash. Thus I need to get details of every write that fs issues to the underlying block device. I copied/wrote my own nbd server in python that logs writes and then I analyze that against some flash model, e.g.: block1,block2,block3 -> 1 sector 1 erase block1,timeout,block2 -> 1 sector 2 erases block1,block2,block1 again -> 1 sector 2 erases I'm still working on these models, as different flashes clearly work differently and there's often no way to find out exactly how, for now I assume reasonably dumb flash. I'm running nbd server in the host and nbd client in the guest (virtual) os, as I want to keep server separate from test memory pressure. My current test memory usage is <40M used, 7M free, few M buffers, 200M cached, so I think I solved memory issues. I'll post the detailed results in my blog when I make sense of them and make sure I did everything correctly. My critical workload is a lot of small transactions that hits flash much harder than large files or few large transactions. I use sqlite, it sync's at least once per transaction. Think regular user app like firefox. In short: ext3/ext4 with journal are actually quite reasonable -- most used erase sector gets 1 erase per transaction. ext4 without journal is only 0.5x total bytes written, but less safe ext4 sripe/stride size == erase block size doesn't help anything nilfs is very promising wrt write endurance, but total written bytes is 7x more nilfs and btrfs are too raw for production use d. On 1 June 2011 01:03, dexen deVries <dexen.devries@xxxxxxxxx> wrote: > Hi Dima, > > > On Wednesday 01 of June 2011 00:08:52 you wrote: >> (...) >> now my next problem, nilfs interacts rather badly with nbd(...) > > What's the reason for nbd here anyway? Thought you wanted to access a flash > memory card...? > > You may want to play with `sync', `fua' and `flush' options of nbd-server, if > you can still ensure reliable operation. > > > You may want to increase /proc/sys/vm/min_free_kbytes; if some proces eat up > most of the 256MB of RAM, it's it that leak memory and should be shot by OOM > ;-) > > > regards, > -- > dexen deVries > > [[[â][â]]] > > For example, if the first thing in the file is: > Â <?kzy irefvba="1.0" rapbqvat="ebg13"?> > an XML parser will recognize that the document is stored in the traditional > ROT13 encoding. > > (( Joe English, http://www.flightlab.com/~joe/sgml/faq-not.txt )) > -- > To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html