File system benchmark suite for Haiku

Blog post by emitrax on Wed, 2008-07-30 10:53

Time for a quick update.

As with r26676, a first buggy xsi semaphore implementation is now present in Haiku (buggy because there is another patch waiting to be reviewed and commited that fixes some issues, but there might be some more coming).

It is now possible to download, compile and run the file system benchmark suite bonnie++. The version I've used is 1.03d, which has been suggested by the author of the suite. With this suite it is possible to test the file system implementation, plus the way Haiku works under low memory and heavy I/O operations.

The basic way to run the software is pretty simple. In order to run the suite in single process mode, just hit

bonnie++ -u 0

While, if you want to run it in multiprocesses mode just do the following

bonnie++ -p 3 -u 0
bonnie++ -y -u 0 &
bonnie++ -y -u 0 &
bonnie++ -y -u 0 &

The first command create the ipc key and the semaphores needed to synchronize the 3 processes. As most of you have already guessed, the -p flag is used to specify how many process you want to run bonnie++ with. Bear in mind that none of the process will run until the last one has been started.

You are of course all invited in running some test, as the more test are ran, the more bugs are found, the sooner they will be fixed, the sooner R1 will come out. At least that's the theory! :-)

Of course, RUN IT AT YOUR OWN RISK.

Comments

Re: File system benchmark suite for Haiku

emitrax wrote:

buggy xsi semaphore

Think I'll wait for the next semaphore patch before testing. Maybe late next week.

I can test with native Haiku install. Though I would prefer to test under Qemu or VmWare. Did you care for tests under virtual machines?

What I notice is that when running GCC2 Firefox on GCC4 Haiku that I sometimes get file system corruption. My BeOS partition works with chkbfs to fix allocation issues on that partition but chkbfs does NOT repair Haiku partition ( even when running under BeOS ).

I'm hoping your fixes will eliminate these corruption issues. Regards,

Re: File system benchmark suite for Haiku

Patch has been committed.

Due to the new I/O scheduler, probably new bugs will pop up but hopefully they will get fixed very soon.

I'm more interested in real hardware, especially if you have two haiku bfs partition. DO NOT RUN THE TEST if you have sensible data on it.

Thanks for your interest.

Re: File system benchmark suite for Haiku

I was about to test and then realized that I'd have to build bonnie++ myself. :-(

It would have been easier & quicker for me ( and others ) to test out the file system if a binary for bonnie++ was provided.

I'll have a go at cross compiling bonnie++. Should be easy enough if my cross is set up right. I was building with gcc4 cross & now will have to recompile gcc2.

Re: File system benchmark suite for Haiku

There is already an old verision of bonnie (not ++), in the tests section, so there are some chances that bonnie++ will be included too. Meanwhile, there is not need to cross compile. If you have access to Internet with Haiku, just download the version I suggest and compile it from Haiku. It'll works just fine.

Re: File system benchmark suite for Haiku

I was able to easily cross compile bonnie++ 1.03d on Linux.

I ran it on Haiku twice and ended up with crashes. This was with single process test.

Haiku R26829

1st time
PANIC: vm_page_fault: unhandled page fault in kernel space at 0xdeadbef8, ip 0x800671af

Thread 46 "scsi scheduler"

2nd time
0xdeadbf03, ip 0x800633cb
Thread 46 "scsi scheduler"

Do you prefer I use a different revision for testing? Was there a revision that worked well for you ( more stable? )? Did you get any crashes? Are there any open tickets? ( I can open a new ticket ).

PS I initialized the partition, copied Haiku over, ran chkbfs & everything was good. Ran 1st test, chkbfs and said corrupted partition. Re-initialized partition, re-copied Haiku, ran chkbfs - good & then ran 2nd test.

Re: File system benchmark suite for Haiku

Last time I compiled it was a few revision ago with not problem, but lately
some big changes have been committed that are problably the cause of your problem, like the I/O scheduler.

Next time it happens get a stack trace and open a ticket if there is not already one opened.

Re: File system benchmark suite for Haiku

Open Ticket here:
http://dev.haiku-os.org/ticket/2578

Feel free to test with r26829 and add to it should you incur the same result. Regards,

Re: File system benchmark suite for Haiku

Great job Salvatore.

I ended up installing r26804. Then I went ahead with the tests you outlined above. The single & multi-process bonnie++ tests worked without issues or errors - completed successfully.

I even ran chkbfs on Haiku and came back with no errors. So, it looks like BFS is very stable.

You're right. The changes were made with r26828 - I/O scheduler which causes some issues ( & instability ).

This is what caused bonnie++ to crash on single process test. I believe it also causes chkbfs to give errors and for vmware images to not load/work ( some things I noticed ).

Re: File system benchmark suite for Haiku

Thanks for testing!

As of r26920, the bonnie++ suite is included in the Haiku repository, so you can simply add it to the image
by adding bonnie++ to your HaikuImage, which is under build/jam.

Re: File system benchmark suite for Haiku

I just tried to test this on Haiku R1 Alpha 1, but it would not finish make. I used the version of bonnie++ you linked. Has anyone else tried it yet?
Thanks!