Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Dec 2014 18:20:03 -0500 (EST)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        =?utf-8?B?TG/Dr2M=?= Blot <loic.blot@unix-experience.fr>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: ZFS vnode lock deadlock in zfs_fhtovp was: High Kernel Load with nfsv4
Message-ID:  <1479765128.1118136.1419290403230.JavaMail.root@uoguelph.ca>
In-Reply-To: <811d455b0bcaeb43711e8108c96d4f2b@mail.unix-experience.fr>

next in thread | previous in thread | raw e-mail | index | archive | help
Loic Blot wrote:
> Hi,
>=20
> To clarify because of our exchanges. Here are the current sysctl
> options for server:
>=20
> vfs.nfsd.enable_nobodycheck=3D0
> vfs.nfsd.enable_nogroupcheck=3D0
>=20
> vfs.nfsd.maxthreads=3D200
> vfs.nfsd.tcphighwater=3D10000
> vfs.nfsd.tcpcachetimeo=3D300
> vfs.nfsd.server_min_nfsvers=3D4
>=20
> kern.maxvnodes=3D10000000
> kern.ipc.maxsockbuf=3D4194304
> net.inet.tcp.sendbuf_max=3D4194304
> net.inet.tcp.recvbuf_max=3D4194304
>=20
> vfs.lookup_shared=3D0
>=20
> Regards,
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
>=20
> 22 d=C3=A9cembre 2014 09:42 "Lo=C3=AFc Blot" <loic.blot@unix-experience.f=
r> a
> =C3=A9crit:
>=20
> Hi Rick,
> my 5 jails runs this weekend and now i have some stats on this
> monday.
>=20
> Hopefully deadlock was fixed, yeah, but everything isn't good :(
>=20
> On NFSv4 server (FreeBSD 10.1) system uses 35% CPU
>=20
> As i can see this is because of nfsd:
>=20
> 918 root            96  20    0 12352K  3372K rpcsvc  6  51.4H
> 273.68% nfsd: server (nfsd)
>=20
> If i look at dmesg i see:
> nfsd server cache flooded, try increasing vfs.nfsd.tcphighwater
>=20
Well, you have a couple of choices:
1 - Use NFSv4.1 (add "minorversion=3D1" to your mount options).
    (NFSv4.1 avoids use of the DRC and instead uses something
     called sessions. See below.)
OR

> vfs.nfsd.tcphighwater was set to 10000, i increase it to 15000
>=20
2 - Bump vfs.nfsd.tcphighwater way up, until you no longer see
    "nfs server cache flooded" messages. (I think Garrett Wollman uses
    100000. (You may still see quite a bit of CPU overheads.)

OR

3 - Set vfs.nfsd.cachetcp=3D0 (which disables the DRC and gets rid
    of the CPU overheads). However, there is a risk of data corruption
    if you have a client->server network partitioning of a moderate
    duration, because a non-idempotent RPC may get redone, becasue
    the client times out waiting for a reply. If a non-idempotent
    RPC gets done twice on the server, data corruption can happen.
    (The DRC provides improved correctness, but does add overhead.)

If #1 works for you, it is the preferred solution, since Sessions
in NFSv4.1 solves the correctness problem in a good, space bound
way. A session basically has N (usually 32 or 64) slots and only
allows one outstanding RPC/slot. As such, it can cache the previous
reply for each slot (32 or 64 of them) and guarantee "exactly once"
RPC semantics.

rick

> Here is 'nfsstat -s' output:
>=20
> Server Info:
> Getattr   Setattr    Lookup  Readlink      Read     Write    Create
>    Remove
> 12600652      1812   2501097       156   1386423   1983729       123
>    162067
> Rename      Link   Symlink     Mkdir     Rmdir   Readdir  RdirPlus
>    Access
> 36762         9         0         0         0      3147         0
>    623524
> Mknod    Fsstat    Fsinfo  PathConf    Commit
> 0         0         0         0    328117
> Server Ret-Failed
> 0
> Server Faults
> 0
> Server Cache Stats:
> Inprog      Idem  Non-idem    Misses
> 0         0         0  12635512
> Server Write Gathering:
> WriteOps  WriteRPC   Opsaved
> 1983729   1983729         0
>=20
> And here is 'procstat -kk' for nfsd (server)
>=20
> 918 100528 nfsd             nfsd: master     mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_timedwait_sig+0x10
> _cv_timedwait_sig_sbt+0x18b svc_run_internal+0x4a1 svc_run+0x1de
> nfsrvd_nfsd+0x1ca nfssvc_nfsd+0x107 sys_nfssvc+0x9c
> amd64_syscall+0x351 Xfast_syscall+0xfb
> 918 100568 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100569 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100570 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100571 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100572 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100573 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100574 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100575 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100576 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100577 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100578 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100579 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100580 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100581 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100582 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100583 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100584 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100585 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100586 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100587 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100588 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100589 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100590 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100591 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100592 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100593 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100594 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100595 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100596 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100597 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100598 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100599 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100600 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100601 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100602 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100603 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100604 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100605 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100606 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100607 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100608 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100609 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100610 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100611 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100612 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100613 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100614 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100615 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100616 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100617 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100618 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100619 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100620 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100621 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100622 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100623 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100624 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100625 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100626 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100627 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100628 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100629 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100630 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100631 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100632 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100633 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100634 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100635 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100636 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100637 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100638 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100639 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100640 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100641 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100642 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100643 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100644 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100645 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100646 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100647 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100648 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100649 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100650 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100651 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100652 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100653 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100654 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100655 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100656 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100657 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100658 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100659 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100660 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100661 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100662 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> ---
>=20
> Now if we look at client (FreeBSD 9.3)
>=20
> We see system was very busy and do many and many interrupts
>=20
> CPU:  0.0% user,  0.0% nice, 37.8% system, 51.2% interrupt, 11.0%
> idle
>=20
> A look at process list shows that there are many sendmail process in
> state nfstry
>=20
> nfstry 18  32:27   0.88% sendmail: Queue runner@00:30:00 for
> /var/spool/clientm
>=20
> Here is 'nfsstat -c' output:
>=20
> Client Info:
> Rpc Counts:
> Getattr   Setattr    Lookup  Readlink      Read     Write    Create
>    Remove
> 1051347      1724   2494481       118    903902   1901285    162676
>    161899
> Rename      Link   Symlink     Mkdir     Rmdir   Readdir  RdirPlus
>    Access
> 36744         2         0       114        40      3131         0
>    544136
> Mknod    Fsstat    Fsinfo  PathConf    Commit
> 9         0         0         0    245821
> Rpc Info:
> TimedOut   Invalid X Replies   Retries  Requests
> 0         0         0         0   8356557
> Cache Info:
> Attr Hits    Misses Lkup Hits    Misses BioR Hits    Misses BioW Hits
>    Misses
> 108754455    491475  54229224   2437229  46814561    821723   5132123
>   1871871
> BioRLHits    Misses BioD Hits    Misses DirE Hits    Misses Accs Hits
>    Misses
> 144035       118     53736      2753     27813         1  57238839
>    544205
>=20
> If you need more things, tell me, i let the PoC in this state.
>=20
> Thanks
>=20
> Regards,
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
>=20
> 21 d=C3=A9cembre 2014 01:33 "Rick Macklem" <rmacklem@uoguelph.ca> a =C3=
=A9crit:
>=20
>=20
> Loic Blot wrote:
>=20
> > Hi Rick,
> > ok, i don't need locallocks, i haven't understand option was for
> > that
> > usage, i removed it.
> > I do more tests on monday.
> > Thanks for the deadlock fix, for other people :)
>=20
> Good. Please let us know if running with vfs.nfsd.enable_locallocks=3D0
> gets rid of the deadlocks? (I think it fixes the one you saw.)
>=20
> On the performance side, you might also want to try different values
> of
> readahead, if the Linux client has such a mount option. (With the
> NFSv4-ZFS sequential vs random I/O heuristic, I have no idea what the
> optimal readahead value would be.)
>=20
> Good luck with it and please let us know how it goes, rick
> ps: I now have a patch to fix the deadlock when
> vfs.nfsd.enable_locallocks=3D1
> is set. I'll post it for anyone who is interested after I put it
> through some testing.
>=20
>=20
> --
> Best regards,
> Lo=C3=AFc BLOT,
> UNIX systems, security and network engineer
> http://www.unix-experience.fr
>=20
> Le jeudi 18 d=C3=A9cembre 2014 =C3=A0 19:46 -0500, Rick Macklem a =C3=A9c=
rit :
>=20
> Loic Blot wrote:
> > Hi rick,
> > i tried to start a LXC container on Debian Squeeze from my
> > freebsd
> > ZFS+NFSv4 server and i also have a deadlock on nfsd
> > (vfs.lookup_shared=3D0). Deadlock procs each time i launch a
> > squeeze
> > container, it seems (3 tries, 3 fails).
>=20
> Well, I`ll take a look at this `procstat -kk`, but the only thing
> I`ve seen posted w.r.t. avoiding deadlocks in ZFS is to not use
> nullfs. (I have no idea if you are using any nullfs mounts, but
> if so, try getting rid of them.)
>=20
> Here`s a high level post about the ZFS and vnode locking problem,
> but there is no patch available, as far as I know.
>=20
> http://docs.FreeBSD.org/cgi/mid.cgi?54739F41.8030407
>=20
> rick
>=20
>=20
> 921  -  D      0:00.02 nfsd: server (nfsd)
>=20
> Here is the procstat -kk
>=20
> PID    TID COMM             TDNAME           KSTACK
> 921 100538 nfsd             nfsd: master     mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0xc9e
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> nfsvno_advlock+0x119 nfsrv_dolocal+0x84 nfsrv_lockctrl+0x14ad
> nfsrvd_locku+0x283 nfsrvd_dorpc+0xec6 nfssvc_program+0x554
> svc_run_internal+0xc77 svc_run+0x1de nfsrvd_nfsd+0x1ca
> nfssvc_nfsd+0x107 sys_nfssvc+0x9c
> 921 100572 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100573 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100574 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100575 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100576 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100577 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100578 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100579 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100580 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100581 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100582 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100583 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100584 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100585 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100586 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100587 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100588 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100589 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100590 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100591 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100592 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100593 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100594 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100595 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100596 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100597 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100598 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100599 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100600 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100601 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100602 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100603 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100604 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100605 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100606 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100607 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100608 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100609 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100610 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100611 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100612 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100613 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100614 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100615 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100616 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrv_getlockfile+0x179 nfsrv_lockctrl+0x21f nfsrvd_lock+0x5b1
> nfsrvd_dorpc+0xec6 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 921 100617 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100618 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 921 100619 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100620 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100621 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100622 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100623 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100624 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100625 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100626 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100627 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100628 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100629 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100630 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100631 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100632 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100633 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100634 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100635 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100636 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100637 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100638 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100639 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100640 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100641 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100642 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100643 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100644 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100645 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100646 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100647 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100648 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100649 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100650 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100651 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100652 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100653 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100654 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100655 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100656 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100657 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100658 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100659 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100660 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100661 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100662 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100663 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100664 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100665 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> _cv_wait_sig+0x16a
> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 921 100666 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrv_setclient+0xbd nfsrvd_setclientid+0x3c8
> nfsrvd_dorpc+0xc76
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
>=20
> Regards,
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
>=20
> 15 d=C3=A9cembre 2014 15:18 "Rick Macklem" <rmacklem@uoguelph.ca> a
> =C3=A9crit:
>=20
> Loic Blot wrote:
>=20
> > For more informations, here is procstat -kk on nfsd, if you
> > need
> > more
> > hot datas, tell me.
> >=20
> > Regards,  PID    TID COMM             TDNAME           KSTACK
> > 918 100529 nfsd             nfsd: master     mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77 svc_run+0x1de
> > nfsrvd_nfsd+0x1ca nfssvc_nfsd+0x107 sys_nfssvc+0x9c
> > amd64_syscall+0x351
>=20
> Well, most of the threads are stuck like this one, waiting for
> a
> vnode
> lock in ZFS. All of them appear to be in zfs_fhtovp().
> I`m not a ZFS guy, so I can`t help much. I`ll try changing the
> subject line
> to include ZFS vnode lock, so maybe the ZFS guys will take a
> look.
>=20
> The only thing I`ve seen suggested is trying:
> sysctl vfs.lookup_shared=3D0
> to disable shared vop_lookup()s. Apparently zfs_lookup()
> doesn`t
> obey the vnode locking rules for lookup and rename, according
> to
> the posting I saw.
>=20
> I`ve added a couple of comments about the other threads below,
> but
> they are all either waiting for an RPC request or waiting for
> the
> threads stuck on the ZFS vnode lock to complete.
>=20
> rick
>=20
> > 918 100564 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> > _cv_wait_sig+0x16a
> > svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> > fork_trampoline+0xe
>=20
> Fyi, this thread is just waiting for an RPC to arrive. (Normal)
>=20
> > 918 100565 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> > _cv_wait_sig+0x16a
> > svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> > fork_trampoline+0xe
> > 918 100566 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> > _cv_wait_sig+0x16a
> > svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> > fork_trampoline+0xe
> > 918 100567 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> > _cv_wait_sig+0x16a
> > svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> > fork_trampoline+0xe
> > 918 100568 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> > _cv_wait_sig+0x16a
> > svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> > fork_trampoline+0xe
> > 918 100569 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> > _cv_wait_sig+0x16a
> > svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> > fork_trampoline+0xe
> > 918 100570 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_catch_signals+0xab sleepq_wait_sig+0xf
> > _cv_wait_sig+0x16a
> > svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a
> > fork_trampoline+0xe
> > 918 100571 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> > nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> > 918 100572 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> > nfsrv_setclient+0xbd nfsrvd_setclientid+0x3c8
> > nfsrvd_dorpc+0xc76
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
>=20
> This one (and a few others) are waiting for the nfsv4_lock.
> This
> happens
> because other threads are stuck with RPCs in progress. (ie. The
> ones
> waiting on the vnode lock in zfs_fhtovp().)
> For these, the RPC needs to lock out other threads to do the
> operation,
> so it waits for the nfsv4_lock() which can exclusively lock the
> NFSv4
> data structures once all other nfsd threads complete their RPCs
> in
> progress.
>=20
> > 918 100573 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> > nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
>=20
> Same as above.
>=20
> > 918 100574 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100575 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100576 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100577 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100578 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100579 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100580 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100581 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100582 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100583 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100584 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100585 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100586 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100587 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100588 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100589 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100590 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100591 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100592 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100593 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100594 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100595 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100596 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100597 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100598 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100599 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100600 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100601 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100602 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100603 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100604 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100605 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100606 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
> > 918 100607 nfsd             nfsd: service    mi_switch+0xe1
> > sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> > vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> > zfs_fhtovp+0x38d
> > nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> > nfssvc_program+0x554 svc_run_internal+0xc77
> > svc_thread_start+0xb
> > fork_exit+0x9a fork_trampoline+0xe
>=20
> Lots more waiting for the ZFS vnode lock in zfs_fhtovp().
>=20
>=20
> 918 100608 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrv_getlockfile+0x179 nfsrv_lockctrl+0x21f nfsrvd_lock+0x5b1
> nfsrvd_dorpc+0xec6 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100609 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100610 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0xc9e
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> nfsvno_advlock+0x119 nfsrv_dolocal+0x84 nfsrv_lockctrl+0x14ad
> nfsrvd_locku+0x283 nfsrvd_dorpc+0xec6 nfssvc_program+0x554
> svc_run_internal+0xc77 svc_thread_start+0xb fork_exit+0x9a
> fork_trampoline+0xe
> 918 100611 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100612 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100613 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100614 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100615 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100616 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100617 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100618 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100619 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100620 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100621 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100622 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100623 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b
> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe
> 918 100624 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100625 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100626 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100627 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100628 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100629 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100630 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100631 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100632 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100633 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100634 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100635 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100636 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100637 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100638 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100639 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100640 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100641 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100642 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100643 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100644 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100645 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100646 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100647 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100648 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100649 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100650 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100651 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100652 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100653 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100654 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100655 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100656 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100657 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
> 918 100658 nfsd             nfsd: service    mi_switch+0xe1
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43
> zfs_fhtovp+0x38d
> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917
> nfssvc_program+0x554 svc_run_internal+0xc77
> svc_thread_start+0xb
> fork_exit+0x9a fork_trampoline+0xe
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
>=20
> 15 d=C3=A9cembre 2014 13:29 "Lo=C3=AFc Blot"
> <loic.blot@unix-experience.fr>
> a
> =C3=A9crit:
>=20
> Hmmm...
> now i'm experiencing a deadlock.
>=20
> 0 918 915 0 21 0 12352 3372 zfs D - 1:48.64 nfsd: server
> (nfsd)
>=20
> the only issue was to reboot the server, but after rebooting
> deadlock arrives a second time when i
> start my jails over NFS.
>=20
> Regards,
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
>=20
> 15 d=C3=A9cembre 2014 10:07 "Lo=C3=AFc Blot"
> <loic.blot@unix-experience.fr>
> a
> =C3=A9crit:
>=20
> Hi Rick,
> after talking with my N+1, NFSv4 is required on our
> infrastructure.
> I tried to upgrade NFSv4+ZFS
> server from 9.3 to 10.1, i hope this will resolve some
> issues...
>=20
> Regards,
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
>=20
> 10 d=C3=A9cembre 2014 15:36 "Lo=C3=AFc Blot"
> <loic.blot@unix-experience.fr>
> a
> =C3=A9crit:
>=20
> Hi Rick,
> thanks for your suggestion.
> For my locking bug, rpc.lockd is stucked in rpcrecv state on
> the
> server. kill -9 doesn't affect the
> process, it's blocked.... (State: Ds)
>=20
> for the performances
>=20
> NFSv3: 60Mbps
> NFSv4: 45Mbps
> Regards,
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
>=20
> 10 d=C3=A9cembre 2014 13:56 "Rick Macklem" <rmacklem@uoguelph.ca>
> a
> =C3=A9crit:
>=20
>=20
> Loic Blot wrote:
>=20
> > Hi Rick,
> > I'm trying NFSv3.
> > Some jails are starting very well but now i have an issue
> > with
> > lockd
> > after some minutes:
> >=20
> > nfs server 10.10.X.8:/jails: lockd not responding
> > nfs server 10.10.X.8:/jails lockd is alive again
> >=20
> > I look at mbuf, but i seems there is no problem.
>=20
> Well, if you need locks to be visible across multiple
> clients,
> then
> I'm afraid you are stuck with using NFSv4 and the
> performance
> you
> get
> from it. (There is no way to do file handle affinity for
> NFSv4
> because
> the read and write ops are buried in the compound RPC and
> not
> easily
> recognized.)
>=20
> If the locks don't need to be visible across multiple
> clients,
> I'd
> suggest trying the "nolockd" option with nfsv3.
>=20
> > Here is my rc.conf on server:
> >=20
> > nfs_server_enable=3D"YES"
> > nfsv4_server_enable=3D"YES"
> > nfsuserd_enable=3D"YES"
> > nfsd_server_flags=3D"-u -t -n 256"
> > mountd_enable=3D"YES"
> > mountd_flags=3D"-r"
> > nfsuserd_flags=3D"-usertimeout 0 -force 20"
> > rpcbind_enable=3D"YES"
> > rpc_lockd_enable=3D"YES"
> > rpc_statd_enable=3D"YES"
> >=20
> > Here is the client:
> >=20
> > nfsuserd_enable=3D"YES"
> > nfsuserd_flags=3D"-usertimeout 0 -force 20"
> > nfscbd_enable=3D"YES"
> > rpc_lockd_enable=3D"YES"
> > rpc_statd_enable=3D"YES"
> >=20
> > Have you got an idea ?
> >=20
> > Regards,
> >=20
> > Lo=C3=AFc Blot,
> > UNIX Systems, Network and Security Engineer
> > http://www.unix-experience.fr
> >=20
> > 9 d=C3=A9cembre 2014 04:31 "Rick Macklem" <rmacklem@uoguelph.ca>
> > a
> > =C3=A9crit:
> >> Loic Blot wrote:
> >>=20
> >>> Hi rick,
> >>>=20
> >>> I waited 3 hours (no lag at jail launch) and now I do:
> >>> sysrc
> >>> memcached_flags=3D"-v -m 512"
> >>> Command was very very slow...
> >>>=20
> >>> Here is a dd over NFS:
> >>>=20
> >>> 601062912 bytes transferred in 21.060679 secs (28539579
> >>> bytes/sec)
> >>=20
> >> Can you try the same read using an NFSv3 mount?
> >> (If it runs much faster, you have probably been bitten by
> >> the
> >> ZFS
> >> "sequential vs random" read heuristic which I've been told
> >> things
> >> NFS is doing "random" reads without file handle affinity.
> >> File
> >> handle affinity is very hard to do for NFSv4, so it isn't
> >> done.)
>=20
> I was actually suggesting that you try the "dd" over nfsv3
> to
> see
> how
> the performance compared with nfsv4. If you do that, please
> post
> the
> comparable results.
>=20
> Someday I would like to try and get ZFS's sequential vs
> random
> read
> heuristic modified and any info on what difference in
> performance
> that
> might make for NFS would be useful.
>=20
> rick
>=20
>=20
>=20
>=20
> rick
>=20
>=20
> This is quite slow...
>=20
> You can found some nfsstat below (command isn't finished
> yet)
>=20
> nfsstat -c -w 1
>=20
> GtAttr Lookup Rdlink Read Write Rename Access Rddir
> 0 0 0 0 0 0 0 0
> 4 0 0 0 0 0 16 0
> 2 0 0 0 0 0 17 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 4 0 0 0 0 4 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 4 0 0 0 0 0 3 0
> 0 0 0 0 0 0 3 0
> 37 10 0 8 0 0 14 1
> 18 16 0 4 1 2 4 0
> 78 91 0 82 6 12 30 0
> 19 18 0 2 2 4 2 0
> 0 0 0 0 2 0 0 0
> 0 0 0 0 0 0 0 0
> GtAttr Lookup Rdlink Read Write Rename Access Rddir
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 1 0 0 0 0 1 0
> 4 6 0 0 6 0 3 0
> 2 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 1 0 0 0 0 0 0 0
> 0 0 0 0 1 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 6 108 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> GtAttr Lookup Rdlink Read Write Rename Access Rddir
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 98 54 0 86 11 0 25 0
> 36 24 0 39 25 0 10 1
> 67 8 0 63 63 0 41 0
> 34 0 0 35 34 0 0 0
> 75 0 0 75 77 0 0 0
> 34 0 0 35 35 0 0 0
> 75 0 0 74 76 0 0 0
> 33 0 0 34 33 0 0 0
> 0 0 0 0 5 0 0 0
> 0 0 0 0 0 0 6 0
> 11 0 0 0 0 0 11 0
> 0 0 0 0 0 0 0 0
> 0 17 0 0 0 0 1 0
> GtAttr Lookup Rdlink Read Write Rename Access Rddir
> 4 5 0 0 0 0 12 0
> 2 0 0 0 0 0 26 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 4 0 0 0 0 4 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 4 0 0 0 0 0 2 0
> 2 0 0 0 0 0 24 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> GtAttr Lookup Rdlink Read Write Rename Access Rddir
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 4 0 0 0 0 0 7 0
> 2 1 0 0 0 0 1 0
> 0 0 0 0 2 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 6 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 4 6 0 0 0 0 3 0
> 0 0 0 0 0 0 0 0
> 2 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> GtAttr Lookup Rdlink Read Write Rename Access Rddir
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 4 71 0 0 0 0 0 0
> 0 1 0 0 0 0 0 0
> 2 36 0 0 0 0 1 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 1 0 0 0 0 0 1 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 79 6 0 79 79 0 2 0
> 25 0 0 25 26 0 6 0
> 43 18 0 39 46 0 23 0
> 36 0 0 36 36 0 31 0
> 68 1 0 66 68 0 0 0
> GtAttr Lookup Rdlink Read Write Rename Access Rddir
> 36 0 0 36 36 0 0 0
> 48 0 0 48 49 0 0 0
> 20 0 0 20 20 0 0 0
> 0 0 0 0 0 0 0 0
> 3 14 0 1 0 0 11 0
> 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> 0 4 0 0 0 0 4 0
> 0 0 0 0 0 0 0 0
> 4 22 0 0 0 0 16 0
> 2 0 0 0 0 0 23 0
>=20
> Regards,
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
>=20
> 8 d=C3=A9cembre 2014 09:36 "Lo=C3=AFc Blot"
> <loic.blot@unix-experience.fr> a
> =C3=A9crit:
> > Hi Rick,
> > I stopped the jails this week-end and started it this
> > morning,
> > i'll
> > give you some stats this week.
> >=20
> > Here is my nfsstat -m output (with your rsize/wsize
> > tweaks)
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> nfsv4,tcp,resvport,hard,cto,sec=3Dsys,acdirmin=3D3,acdirmax=3D60,acregmin=
=3D5,acregmax=3D60,nametimeo=3D60,negna
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> etimeo=3D60,rsize=3D32768,wsize=3D32768,readdirsize=3D32768,readahead=3D1=
,wcommitsize=3D773136,timeout=3D120,retra
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> s=3D2147483647
>=20
> On server side my disks are on a raid controller which show a
> 512b
> volume and write performances
> are very honest (dd if=3D/dev/zero of=3D/jails/test.dd bs=3D4096
> count=3D100000000 =3D> 450MBps)
>=20
> Regards,
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
>=20
> 5 d=C3=A9cembre 2014 15:14 "Rick Macklem" <rmacklem@uoguelph.ca> a
> =C3=A9crit:
>=20
>=20
> Loic Blot wrote:
>=20
>=20
> Hi,
> i'm trying to create a virtualisation environment based on
> jails.
> Those jails are stored under a big ZFS pool on a FreeBSD
> 9.3
> which
> export a NFSv4 volume. This NFSv4 volume was mounted on a
> big
> hypervisor (2 Xeon E5v3 + 128GB memory and 8 ports (but
> only 1
> was
> used at this time).
>=20
> The problem is simple, my hypervisors runs 6 jails (used 1%
> cpu
> and
> 10GB RAM approximatively and less than 1MB bandwidth) and
> works
> fine at start but the system slows down and after 2-3 days
> become
> unusable. When i look at top command i see 80-100% on
> system
> and
> commands are very very slow. Many process are tagged with
> nfs_cl*.
>=20
>=20
> To be honest, I would expect the slowness to be because of
> slow
> response
> from the NFSv4 server, but if you do:
> # ps axHl
> on a client when it is slow and post that, it would give us
> some
> more
> information on where the client side processes are sitting.
> If you also do something like:
> # nfsstat -c -w 1
> and let it run for a while, that should show you how many
> RPCs
> are
> being done and which ones.
>=20
> # nfsstat -m
> will show you what your mount is actually using.
> The only mount option I can suggest trying is
> "rsize=3D32768,wsize=3D32768",
> since some network environments have difficulties with 64K.
>=20
> There are a few things you can try on the NFSv4 server side,
> if
> it
> appears
> that the clients are generating a large RPC load.
> - disabling the DRC cache for TCP by setting
> vfs.nfsd.cachetcp=3D0
> - If the server is seeing a large write RPC load, then
> "sync=3Ddisabled"
> might help, although it does run a risk of data loss when
> the
> server
> crashes.
> Then there are a couple of other ZFS related things (I'm not
> a
> ZFS
> guy,
> but these have shown up on the mailing lists).
> - make sure your volumes are 4K aligned and ashift=3D12 (in
> case a
> drive
> that uses 4K sectors is pretending to be 512byte sectored)
> - never run over 70-80% full if write performance is an
> issue
> - use a zil on an SSD with good write performance
>=20
> The only NFSv4 thing I can tell you is that it is known that
> ZFS's
> algorithm for determining sequential vs random I/O fails for
> NFSv4
> during writing and this can be a performance hit. The only
> workaround
> is to use NFSv3 mounts, since file handle affinity
> apparently
> fixes
> the problem and this is only done for NFSv3.
>=20
> rick
>=20
>=20
> I saw that there are TSO issues with igb then i'm trying to
> disable
> it with sysctl but the situation wasn't solved.
>=20
> Someone has got ideas ? I can give you more informations if
> you
> need.
>=20
> Thanks in advance.
> Regards,
>=20
> Lo=C3=AFc Blot,
> UNIX Systems, Network and Security Engineer
> http://www.unix-experience.fr
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to
> "freebsd-fs-unsubscribe@freebsd.org"
>=20
>=20
>=20
>=20
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to
> "freebsd-fs-unsubscribe@freebsd.org"
>=20
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to
> "freebsd-fs-unsubscribe@freebsd.org"
>=20
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to
> "freebsd-fs-unsubscribe@freebsd.org"
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to
> "freebsd-fs-unsubscribe@freebsd.org"
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> _______________________________________________
> freebsd-fs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"
>=20
>=20
>=20
>=20



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1479765128.1118136.1419290403230.JavaMail.root>