Introduction
Here are the last results for the Robustness and
Performances
testing of the kernel
and CITI patch:
linux-2.6.19-rc6-CITI_NFS4_ALL-1
plus the following patch which fixes a memory leak
with
krb5i (BUGZILLA
#132)
diff --git a/fs/nfsd/nfs4proc.c
b/fs/nfsd/nfs4proc.c
index 2dfc4a2..b88ec10 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -740,9 +740,12 @@ static inline void nfsd4_increment_op_st
static void cstate_free(struct nfsd4_compound_state *cstate)
{
+ if (cstate == NULL)
+
return;
fh_put(&cstate->current_fh);
fh_put(&cstate->save_fh);
BUG_ON(cstate->replay_owner);
+ kfree(cstate);
}
static struct nfsd4_compound_state *cstate_alloc(void)
Tests performed
The following
tools have been used:
Test #1 : connectathon 04 (update 2003/12)
(ltp-full-20060822) LTP
- run basic (-b) , general (-g) ,
special (-s), and
lock tests (-l)
-
mode extended (-t) is used
Test #2 : nfs_fsstress (ltp-full-20060822) LTP
-
Tests are done with various number of
subprocessess : 2, 4,
8, 16, 32
-
Tests are done with various length of instructions lists:
1, 2,
4, 8, 16, 32, 64, 128
Test #3 : fsx (ltp-full-20060822) LTP
-
fsx is run with 50000 iterations
Test #4 : Iozone
(version 3.263) HERE
-
Run iozone -+q 30 -ace -r 64 -i 0 -i 1 -i 2 -g
2G -U mountpoint
Test #5 : ffsb (version 5.2.1) FFSB
-
Run with default profile_stress_test file as profile
Test #6 : locks testing
HERE
-
Run
mode local done with 500 processes
-
Run mode network done with two clients ,
500
processes
each
Test #7 : dbench (3.04) HERE
-
Run with 10, 100, 1000 clients
Test #8 : ACL testing (ltp-full-20060822) LTP
Performances Results
- We run iozone (Test#4) to measure:
- read and write performance
throughputs for the asynchronous and
synchronous modes of the command mount (async exports used in both
cases)
- The different security flavours are measured:
sys, krb5, krb5i, krb5p
The following parameters are used:
iozone -+q 5 -ace -r 64 -i 0 -i
1 -g 1G
-f /mnt/dir/file -U /mnt/dir
-
mount options rsize,wsize are set to 262144 (due to
2G ram memory for both client and server)
Kernel .config file impact is very important on
performances. Check it when bad performances.
For example, CONFIG_DEBUG_SLAB set will drastically decrease the
performances.
- The
results on reads for asynchronous mount are HERE
Remarks:
We
retrieve logically a degradation following the security flavor used.
Nevertheless
it looks there is space to try to improve krb5i to be closer
to the krb5 performance and there is clearly a performance bug
for krb5p (BUGZILLA#117).
- The
results on reads for synchronous mount are HERE
Remarks:
Same as asynchronous mode.
- The
results on writes for asynchronous mount are HERE
- The
results on writes for synchronous mount are HERE
Robustness Results
- The objective was to
run:
- Tests
#1 #2
#3 #4 #5 #6 #7 alone for: 2 hours, 15 hours, 60 hours.
- Tests #1 #2 #3
#4 #5 were also
run
all together simultaneously for: 2 hours , 15 hours , 60 hours (option
-U not used for iozone for this all together longrun)
- Asynchronous mode is used for both: mount command and
export option
Kerberos Robustness Results
- The objective was to
run :
- Tests
#1 #2
#3 #4 #5 alone for: 2 hours, 15 hours, 60 hours using the different
flavors krb5, krb5i , krb5p for 2
hours, 15
hours, 60 hours
- Tests
#1 #2 #3 #4 #5
were
also
run
all together simultaneously for: 2 hours , 15 hours , 60 hours
Asynchronous mode is used for both: mount command and export
option
- The
results
are HERE
Remarks:
With the flavor krb5p we got the following issues:
Get an issue when running the
special tests (-s).
When running ./runtests -s -t /mnt/krb5p/file, we get the
following error:
write/read 30 MB file
write/read at 2GB, 4GB edges
can't read at offset 0x080000000: Input/output error
special tests failed
See BUGZILLA
#133
Get another error
when mounting with the synchronous mode and kerberos krb5p:
test rewind support
write: Permission denied
special tests failed
This test rewind works if the mount is asynchronous.
When running ./fsx-linux -N 50000
/mnt/krb5p/file
gets the following error:
READ BAD DATA: offset = 0x10d2a, size = 0xee3
OFFSET GOOD BAD RANGE
0x10d2a 0x7493 0x0000 0x edc
operation# (mod 256) for the bad data unknown, check HOLE and EXTEND ops
See BUGZILLA
#136
Interoperability Robustness results
- The objective was to
run benchs with Intel 32 bits in front of Intel X86_64 64 bits:
- Tests
#1 #2
#3 #4 #5 alone for: 2 hours, 15 hours, 60 hours using the different
flavors krb5, krb5i , krb5p for 2
hours, 15
hours, 60 hours
- Tests
#1 #2 #3 #4 #5
were
also
run
all together simultaneously for: 2 hours , 15 hours , 60 hours
Asynchronous mode is used for both: mount command and export
option
- The
results
are HERE
Software versions
| Linux |
linux-2.6.19-rc6-CITI_NFS4_ALL-1
|
| Client
userland
package |
util-linux-2.12
+ util-linux-2.12-CITI_NFS4_ALL-3.dif |
| Linux
nfs-utils
version |
nfs-utils-1.0.10
+nfs-utils-1.0.10-CITI_NFS4_ALL-3.dif |
gssapi library
|
libgssapi-0.10
|
rpcsecgss
library
|
librpcsecgss-0.14
|
nfsidmap
library
|
libnfsidmap-0.18
|
acl
library
|
acl_2.2.29-1
+acl-2.2.29-CITI_NFS4_ALL-3
|
| Linux
TI-RPC |
0.1.7 |
Hardware configuration
Client and Server
- Xeon(TM) CPU 2.80GHz, cache 512 KB, 2 processors
- Total memory: 2GBytes
- Ethernet: 1Gbits/s link
- Distribution : Fedora Core 5 32bits and Fedora Core 6 64bits
- Kerberos V5 MIT1.4.3-4.1
Conclusion
Core linux-2.6.19-rc6-CITI_NFS4_ALL-1
(plus Memory leak patch) functions should be considered as stable for the security flavors sys,
krb5 and
krb5i. Nevertheless tests continue for those not run yet
and tables will be completed when done.
About the security flavor krb5i,
important memory leaks bugs have been fixed
since 2.6.17-rc2 like BUGZILLA
#109,
#132. Nevertheless for krb5p, BUGZILLA
#117 about performance is still remaining and three new
issues
have
coming BUGZILLA#133
,#136 and #137 which
prevent Special Tests Connectathon and fsx bench to run
correctly.