Messages in this thread | | | Date | Sat, 11 Mar 2000 14:31:54 -0800 (PST) | From | Chris Mason <> | Subject | Re: patch: reiserfs for 2.3.49 |
| |
On Sat, 11 Mar 2000, Chris Evans wrote: > On Sat, 11 Mar 2000, Chris Mason wrote: > > > Hello everyone, > > > > ReiserFS for 2.3.49 is now available for testing, comments, and review. > > You can get the code from: > > > > ftp://ftp.devlinux.com/pub/namesys/2.3-beta/linux-2.3.49-reiserfs-3.6.1-patch.gz > > Chris, > > I'm going to grab this and test this when I get the chance. > > Thanks for the detailled post on the status. One piece of information > was missing though, which I think might be of interest to readers of this > list; how fast is this beast ;-) >
Well, it depends. For the most part, it is as fast, or faster than our 2.2 code was, especially for files without tails (larger than 16k). Files will tails will be slower in the following case:
while() { open(file with tail) ; lseek(anywhere in the tail); write(data) ; close(file) ; }
To write to the tail of the file, we convert it into an unformatted node (insert indirect item, balance, cut direct item, balance), and then let the generic file write function do its thing. On file close, the data is repacked into the tail (insert direct item, balance, cut indirect item, balance).
This does slow things down by a few percent, but the operations are mostly done in cache, and it is not as bad as it sounds. There are two possible solutions: allocation on flush (don't allocation allocate unformatted node or insert indirect item until things need flushing), or use the address space operations to write directly into the file tail.
Note, I'm concentrating too much on the downsides at the moment, on purpose. In general, it is working, and it is fast. We have some benchmarks on the way.
I should also note the patch I posted has our utils in it (mkreiserfs and such). We are writing a script to split them out of the patch, and make a tar file with just the kernel files required to build the utils.
-chris
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |