[nfsv4] [PATCH 0/7] Permit filesystem local caching and NFS
superblock sharing [try #13]
Bryce Harrington
bryce at osdl.org
Fri Sep 1 19:32:07 EDT 2006
Here are some test results for David's patch...
----- Forwarded message from Bryce Harrington <bryce at osdl.org> -----
Date: Thu, 31 Aug 2006 19:40:24 -0700
From: Bryce Harrington <bryce at osdl.org>
To: David Howells <dhowells at redhat.com>
Cc: jasonn at osdl.org
Subject: Re: [nfsv4] [PATCH 0/7] Permit filesystem local caching and NFS superblock sharing [try #13]
On Thu, Aug 31, 2006 at 11:04:03AM +0100, David Howells wrote:
> Bryce Harrington <bryce at osdl.org> wrote:
>
> > We can provide some testing of this patchset in the nfsv4 testing
> > environment, if it might help. This will give you some data to show how it
> > compares, or at least provide some proof it doesn't break things.
> >
> > Could you tell us which version of the kernel we should apply this patch
> > against?
>
> Trond's NFS GIT tree.
Hi David,
Here is a first test run against this patch. It applied fine against
Trond's tree, and here are the raw logs:
http://crucible.osdl.org/runs/1741/test_output/
Some information about the machines themselves is available here:
Server: http://crucible.osdl.org/runs/1741/sysinfo/nfs06.1/
Client: http://crucible.osdl.org/runs/1741/sysinfo/nfs06.1/
Basically, they're ordinary x86 32-bit, 1-CPU P4 systems with 1G ram
and 1G ethernet connected through a 1Gbit HP switch.
For reference, here is the test data from trond's code by itself:
http://crucible.osdl.org/runs/1690/test_output/
I find newpynfs to be the best tool for finding regressions, and here's
what we're seeing:
1690 (Trond's git tree)
-----------------------
sys: 164 Skipped, 47 Failed, 2 Warned, 365 Passed
krb5: 158 Skipped, 45 Failed, 2 Warned, 373 Passed
krb5i: 5 Skipped, 61 Failed, 17 Warned, 495 Passed
krb5p: 6 Skipped, 63 Failed, 16 Warned, 493 Passed
1741 (Trond's git tree + DHowell's fs_cache patch)
--------------------------------------------------
sys: 13 Skipped, 57 Failed, 17 Warned, 491 Passed
krb5: 158 Skipped, 46 Failed, 2 Warned, 372 Passed
krb5i: 5 Skipped, 62 Failed, 17 Warned, 494 Passed
krb5p: 127 Skipped, 406 Failed, 1 Warned, 44 Passed
These two runs are not perfectly apples-to-apples comparison since they
ran on different actual machines. However they're close enough. After
your runs are done, we can rerun trond's patch on the same machines to
make double-sure the results are comparable.
The difference in sys cases is mildly curious but not surprising. In
any case, those numbers are 100% typical so they indicate goodness.
For the krb5 case, the one new error is this one:
CIDCF3 st_setclientidconfirm.testAllCases : FAILURE
operation OP_SETCLIENTID_CONFIRM should return
NFS4_OK, instead got NFS4ERR_CLID_INUSE
For the krb5i case, the one new error is:
OPEN10 st_open.testZeroLenName : FAILURE
operation OP_SETCLIENTID_CONFIRM should return
NFS4_OK, instead got NFS4ERR_CLID_INUSE
Personally, neither of these look that interesting; I see variances in
these test cases all the time, and I would guess they don't indicate
anything important.
The krb5p errors, on the other hand, are quite interesting. I notice
the server Oopsed, and I'm guessing it was during this run. Take a look
at the console log:
http://crucible.osdl.org/runs/1741/nfs06.console.log
cthon, ltp, and iozone all run after newpynfs, so since the server
crashed, data from those tests isn't valid.
Hope this helps. I'm going to re-run the test and see if I can get the
server to crash again. Let me know if you have any thoughts on this
issue, or additional patches you'd like us to try out.
Bryce
----- End forwarded message -----
Last night we re-ran the test, and it did Oops again, in a similar
manner, but this time when running newpynfs with AUTHSYS:
http://crucible.osdl.org/runs/1750/sysinfo/nfs06.console
BUG: unable to handle kernel paging request at virtual address 6b6b6b73
printing eip:
c040f26d
*pde = 00000000
Oops: 0000 [#1]
PREEMPT SMP
Modules linked in:
CPU: 0
EIP: 0060:[<c040f26d>] Not tainted VLI
EFLAGS: 00010246 (2.6.18-rc5-gd4a4640-nfs-client-stable #1)
EIP is at pmap_getport_done+0x17/0xae
eax: 6b6b6b6b ebx: dfc56370 ecx: 00000000 edx: dfc56370
esi: dfc562b0 edi: 00000000 ebp: f7aa2f04 esp: f7aa2ef8
ds: 007b es: 007b ss: 0068
Process rpciod/0 (pid: 7635, ti=f7aa2000 task=f7421550 task.ti=f7aa2000)
Stack: dfc56370 dfc563d8 00000000 f7aa2f18 c040a23f dfc56370 dfc4aa34
dfc56370
f7aa2f30 c040a2f7 dfc56370 dfc563e0 dfc563e4 f6b07d24 f7aa2f3c c040a440
dfc56370 f7aa2f60 c012b398 dfc56370 dfc56370 c040a435 00000213 f6b07d24
Call Trace:
[<c01037da>] show_stack_log_lvl+0x8a/0x92
[<c010393b>] show_registers+0x11d/0x186
[<c0103b27>] die+0x10c/0x1c2
[<c0113f31>] do_page_fault+0x3e0/0x4bc
[<c01034ad>] error_code+0x39/0x40
[<c040a23f>] rpc_exit_task+0x1e/0x59
[<c040a2f7>] __rpc_execute+0x7d/0x19c
[<c040a440>] rpc_async_schedule+0xb/0xd
[<c012b398>] run_workqueue+0x85/0xc7
[<c012b4d7>] worker_thread+0xfd/0x131
[<c012e3d2>] kthread+0x84/0xad
[<c0100f19>] kernel_thread_helper+0x5/0xb
Code: 05 c0 00 00 00 50 e8 d8 ae ff ff 5a 8d 65 f4 5b 5e 5f 5d c3 55 89
e5 57 56 8b 45 0c 8b 55 08 53 8b 70 10 8b 7a 18 8b 46 10 85 ff <8b> 58
08 79 0d 8b 03 6a 00 53 ff 50 14 89 7e 18 eb 1b 8b 55 0c
EIP: [<c040f26d>] pmap_getport_done+0x17/0xae SS:ESP 0068:f7aa2ef8
Bryce
More information about the NFSv4
mailing list