I think might depend a bit on how your root pool is set up? My experience is that Solaris just refuses to do the exporting / importing if the root is involved.

However, whether it is a bug or not, it is easy to disable. Please read the rest of my email on how you can easily stop Filebench from doing this by changing the fs_flush script.

Drew

On 03/12/09 02:23 PM, Asif Iqbal wrote:
On Thu, Mar 12, 2009 at 5:09 PM, Andrew Wilson <andrew.w.wil...@sun.com> wrote:
First off, it is not a bug, it is a feature that is necessary to flush the
zfs ARC. Otherwise you get rather excessive performance. This is done
through a script called fs_flush, though, and it is easy to comment out that
part of the script. The script is found in filebench/scripts
(usr/benchmarks/filebench/scripts/fs_flush on Solaris machines.

rpool is my root partition '/' . I told filebench to only work on
testpool by defining the
dir=/testpool and filesystem = zfs  in my fileio.prof.

But filebench unmounts the rpool as well and hence kills itself

For example, here is the beginning of the fs_flush script:
#!/usr/bin/perl
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I%     %E% SMI"

#
# Put commands in  here to flush the file system cache after
# file set creation but prior to steady state
#
# For most file systems, filebench already handles fs cache flushing
# For ZFS, it needs some help, so this script does
#    "zpool export <poolname>" then "zpool import <poolname>"
#

$fs = $ARGV[0];
$dir = $ARGV[1];

#
# if not zfs, inform user and exit.
#
if (($fs =~ m/^zfs$/) != 1) {
     print "filesystem type is: $fs, no action required, so exiting\n";
     exit(0);
}

Just put exit(0); in the script without a conditional, and it will do
nothing.

All versions will do this on zfs by default.

I am not sure how to get just the filebench binaries, but I can tell you
that they are installed as part of OpenSolaris. Everything you need to run
filebench, including the appropriate go_filebench binary, lives in
/usr/benchmarks/filebench on the machine that you have installed OpenSolaris
on.

Drew

On 03/12/09 11:21 AM, Asif Iqbal wrote:
Where can I get the latest filebench source code from?

The filebench 1.3.4 has a bug. It unmounts the root pool while doing a
test. I was using fileio.prof and using zfs instead of tmpfs as my
filesystem.

I see the source can be broswed from here


http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/filebench/

But how do I get the code?






_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to