Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Dec 2014 15:07:37 +0000
From:      "=?utf-8?B?TG/Dr2MgQmxvdA==?=" <loic.blot@unix-experience.fr>
To:        "Rick Macklem" <rmacklem@uoguelph.ca>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: ZFS vnode lock deadlock in zfs_fhtovp was: High Kernel Load with nfsv4
Message-ID:  <82f8ef92c6bf5f2323bae5ce5e4e2394@mail.unix-experience.fr>
In-Reply-To: <1479765128.1118136.1419290403230.JavaMail.root@uoguelph.ca>
References:  <1479765128.1118136.1419290403230.JavaMail.root@uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Rick,=0Ai upgraded my jail host from FreeBSD 9.3 to 10.1 to use NFS v4=
.1 (mountoptions: rw,rsize=3D32768,wsize=3D32768,tcp,nfsv4,minorversion=
=3D1)=0A=0APerformance is quite stable but it's slow. Not as slow as befo=
re but slow... services was launched but no client are using them and sys=
tem CPU % was 10-50%.=0A=0AI don't see anything on NFSv4.1 server, it's p=
erfectly stable and functionnal.=0A=0ARegards,=0A=0ALo=C3=AFc Blot,=0AUNI=
X Systems, Network and Security Engineer=0Ahttp://www.unix-experience.fr=
=0A=0A23 d=C3=A9cembre 2014 00:20 "Rick Macklem" <rmacklem@uoguelph.ca> a=
 =C3=A9crit: =0A> Loic Blot wrote:=0A> =0A>> Hi,=0A>> =0A>> To clarify be=
cause of our exchanges. Here are the current sysctl=0A>> options for serv=
er:=0A>> =0A>> vfs.nfsd.enable_nobodycheck=3D0=0A>> vfs.nfsd.enable_nogro=
upcheck=3D0=0A>> =0A>> vfs.nfsd.maxthreads=3D200=0A>> vfs.nfsd.tcphighwat=
er=3D10000=0A>> vfs.nfsd.tcpcachetimeo=3D300=0A>> vfs.nfsd.server_min_nfs=
vers=3D4=0A>> =0A>> kern.maxvnodes=3D10000000=0A>> kern.ipc.maxsockbuf=3D=
4194304=0A>> net.inet.tcp.sendbuf_max=3D4194304=0A>> net.inet.tcp.recvbuf=
_max=3D4194304=0A>> =0A>> vfs.lookup_shared=3D0=0A>> =0A>> Regards,=0A>> =
=0A>> Lo=C3=AFc Blot,=0A>> UNIX Systems, Network and Security Engineer=0A=
>> http://www.unix-experience.fr=0A>>; =0A>> 22 d=C3=A9cembre 2014 09:42 "=
Lo=C3=AFc Blot" <loic.blot@unix-experience.fr> a=0A>> =C3=A9crit:=0A>> =
=0A>> Hi Rick,=0A>> my 5 jails runs this weekend and now i have some stat=
s on this=0A>> monday.=0A>> =0A>> Hopefully deadlock was fixed, yeah, but=
 everything isn't good :(=0A>> =0A>> On NFSv4 server (FreeBSD 10.1) syste=
m uses 35% CPU=0A>> =0A>> As i can see this is because of nfsd:=0A>> =0A>=
> 918 root            96  20    0 12352K  3372K rpcsvc  6  51.4H=0A>> 273=
.68% nfsd: server (nfsd)=0A>> =0A>> If i look at dmesg i see:=0A>> nfsd s=
erver cache flooded, try increasing vfs.nfsd.tcphighwater=0A> =0A> Well, =
you have a couple of choices:=0A> 1 - Use NFSv4.1 (add "minorversion=3D1"=
 to your mount options).=0A> (NFSv4.1 avoids use of the DRC and instead u=
ses something=0A> called sessions. See below.)=0A> OR=0A> =0A>> vfs.nfsd.=
tcphighwater was set to 10000, i increase it to 15000=0A> =0A> 2 - Bump v=
fs.nfsd.tcphighwater way up, until you no longer see=0A> "nfs server cach=
e flooded" messages. (I think Garrett Wollman uses=0A> 100000. (You may s=
till see quite a bit of CPU overheads.)=0A> =0A> OR=0A> =0A> 3 - Set vfs.=
nfsd.cachetcp=3D0 (which disables the DRC and gets rid=0A> of the CPU ove=
rheads). However, there is a risk of data corruption=0A> if you have a cl=
ient->server network partitioning of a moderate=0A> duration, because a n=
on-idempotent RPC may get redone, becasue=0A> the client times out waitin=
g for a reply. If a non-idempotent=0A> RPC gets done twice on the server,=
 data corruption can happen.=0A> (The DRC provides improved correctness, =
but does add overhead.)=0A> =0A> If #1 works for you, it is the preferred=
 solution, since Sessions=0A> in NFSv4.1 solves the correctness problem i=
n a good, space bound=0A> way. A session basically has N (usually 32 or 6=
4) slots and only=0A> allows one outstanding RPC/slot. As such, it can ca=
che the previous=0A> reply for each slot (32 or 64 of them) and guarantee=
 "exactly once"=0A> RPC semantics.=0A> =0A> rick=0A> =0A>> Here is 'nfsst=
at -s' output:=0A>> =0A>> Server Info:=0A>> Getattr   Setattr    Lookup  =
Readlink      Read     Write    Create=0A>> Remove=0A>> 12600652      181=
2   2501097       156   1386423   1983729       123=0A>> 162067=0A>> Rena=
me      Link   Symlink     Mkdir     Rmdir   Readdir  RdirPlus=0A>> Acces=
s=0A>> 36762         9         0         0         0      3147         0=
=0A>> 623524=0A>> Mknod    Fsstat    Fsinfo  PathConf    Commit=0A>> 0   =
      0         0         0    328117=0A>> Server Ret-Failed=0A>> 0=0A>> =
Server Faults=0A>> 0=0A>> Server Cache Stats:=0A>> Inprog      Idem  Non-=
idem    Misses=0A>> 0         0         0  12635512=0A>> Server Write Gat=
hering:=0A>> WriteOps  WriteRPC   Opsaved=0A>> 1983729   1983729         =
0=0A>> =0A>> And here is 'procstat -kk' for nfsd (server)=0A>> =0A>> 918 =
100528 nfsd             nfsd: master     mi_switch+0xe1=0A>> sleepq_catch=
_signals+0xab sleepq_timedwait_sig+0x10=0A>> _cv_timedwait_sig_sbt+0x18b =
svc_run_internal+0x4a1 svc_run+0x1de=0A>> nfsrvd_nfsd+0x1ca nfssvc_nfsd+0=
x107 sys_nfssvc+0x9c=0A>> amd64_syscall+0x351 Xfast_syscall+0xfb=0A>> 918=
 100568 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catc=
h_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_intern=
al+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>=
> 918 100569 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq=
_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_i=
nternal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0x=
e=0A>> 918 100570 nfsd             nfsd: service    mi_switch+0xe1=0A>> s=
leepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_=
run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoli=
ne+0xe=0A>> 918 100571 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A=
>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_t=
rampoline+0xe=0A>> 918 100572 nfsd             nfsd: service    mi_switch=
+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 918 100573 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_si=
g+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=
=0A>> fork_trampoline+0xe=0A>> 918 100574 nfsd             nfsd: service =
   mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_=
wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit=
+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100575 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
 _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork=
_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100576 nfsd             nfsd=
: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_si=
g+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100577 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_star=
t+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100578 nfsd       =
      nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab slee=
pq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100579 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_t=
hread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100580 n=
fsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals=
+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100=
581 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0=
x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 91=
8 100582 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_cat=
ch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 918 100583 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_=
internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0=
xe=0A>> 918 100584 nfsd             nfsd: service    mi_switch+0xe1=0A>> =
sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 918 100585 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A=
>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_t=
rampoline+0xe=0A>> 918 100586 nfsd             nfsd: service    mi_switch=
+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 918 100587 nfsd=20=20=20=20=20=20=20=20     nfsd:=
 service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig=
+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb =
fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100588 nfsd             =
nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wai=
t_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start=
+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100589 nfsd        =
     nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleep=
q_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_=
start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100590 nfsd   =
          nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab =
sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_th=
read_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100591 nf=
sd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+=
0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e s=
vc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 1005=
92 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_sig=
nals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x=
87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918=
 100593 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catc=
h_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_intern=
al+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>=
> 918 100594 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq=
_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_i=
nternal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0x=
e=0A>> 918 100595 nfsd             nfsd: service    mi_switch+0xe1=0A>> s=
leepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_=
run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoli=
ne+0xe=0A>> 918 100596 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A=
>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_t=
rampoline+0xe=0A>> 918 100597 nfsd             nfsd: service    mi_switch=
+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 918 100598 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_si=
g+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=
=0A>> fork_trampoline+0xe=0A>> 918 100599 nfsd             nfsd: service =
   mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_=
wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit=
+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100600 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
 _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork=
_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100601 nfsd             nfsd=
: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_si=
g+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100602 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_star=
t+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100603 nfsd       =
      nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab slee=
pq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100604 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_t=
hread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100605 n=
fsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals=
+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100=
606 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0=
x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 91=
8 100607 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_cat=
ch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 918 100608 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_=
internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0=
xe=0A>> 918 100609 nfsd             nfsd: service    mi_switch+0xe1=0A>> =
sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 918 100610 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A=
>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_t=
rampoline+0xe=0A>> 918 100611 nfsd             nfsd: service    mi_switch=
+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 918 100612 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_si=
g+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=
=0A>> fork_trampoline+0xe=0A>> 918 100613 nfsd             nfsd: service =
   mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_=
wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit=
+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100614 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
 _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork=
_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100615 nfsd             nfsd=
: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_si=
g+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100616 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_star=
t+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100617 nfsd       =
      nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab slee=
pq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100618 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_t=
hread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100619 n=
fsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals=
+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100=
620 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0=
x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 91=
8 100621 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_cat=
ch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 918 100622 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_=
internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0=
xe=0A>> 918 100623 nfsd             nfsd: service    mi_switch+0xe1=0A>> =
sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 918 100624 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A=
>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_t=
rampoline+0xe=0A>> 918 100625 nfsd             nfsd: service    mi_switch=
+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 918 100626 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_si=
g+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=
=0A>> fork_trampoline+0xe=0A>> 918 100627 nfsd             nfsd: service =
   mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_=
wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit=
+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100628 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
 _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork=
_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100629 nfsd             nfsd=
: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_si=
g+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100630 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_star=
t+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100631 nfsd       =
      nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab slee=
pq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100632 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_t=
hread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100633 n=
fsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals=
+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100=
634 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0=
x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 91=
8 100635 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_cat=
ch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 918 100636 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_=
internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0=
xe=0A>> 918 100637 nfsd             nfsd: service    mi_switch+0xe1=0A>> =
sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 918 100638 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A=
>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_t=
rampoline+0xe=0A>> 918 100639 nfsd             nfsd: service    mi_switch=
+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 918 100640 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_si=
g+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=
=0A>> fork_trampoline+0xe=0A>> 918 100641 nfsd             nfsd: service =
   mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_=
wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit=
+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100642 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
 _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork=
_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100643 nfsd             nfsd=
: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_si=
g+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100644 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_star=
t+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100645 nfsd       =
      nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab slee=
pq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100646 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_t=
hread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100647 n=
fsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals=
+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100=
648 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0=
x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 91=
8 100649 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_cat=
ch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 918 100650 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_=
internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0=
xe=0A>> 918 100651 nfsd             nfsd: service    mi_switch+0xe1=0A>> =
sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 918 100652 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A=
>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_t=
rampoline+0xe=0A>> 918 100653 nfsd             nfsd: service    mi_switch=
+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 918 100654 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_wait_si=
g+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=
=0A>> fork_trampoline+0xe=0A>> 918 100655 nfsd             nfsd: service =
   mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf _cv_=
wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit=
+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100656 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
 _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork=
_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100657 nfsd             nfsd=
: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_si=
g+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100658 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_star=
t+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100659 nfsd       =
      nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab slee=
pq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100660 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_t=
hread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100661 n=
fsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals=
+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100=
662 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf _cv_wait_sig+0x16a=0A>> svc_run_internal+0=
x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> --=
-=0A>> =0A>> Now if we look at client (FreeBSD 9.3)=0A>> =0A>> We see sys=
tem was very busy and do many and many interrupts=0A>> =0A>> CPU:  0.0% u=
ser,  0.0% nice, 37.8% system, 51.2% interrupt, 11.0%=0A>> idle=0A>> =0A>=
> A look at process list shows that there are many sendmail process in=0A=
>> state nfstry=0A>> =0A>> nfstry 18  32:27   0.88% sendmail: Queue runne=
r@00:30:00 for=0A>> /var/spool/clientm=0A>> =0A>> Here is 'nfsstat -c' ou=
tput:=0A>> =0A>> Client Info:=0A>> Rpc Counts:=0A>> Getattr   Setattr    =
Lookup  Readlink      Read     Write    Create=0A>> Remove=0A>> 1051347  =
    1724   2494481       118    903902   1901285    162676=0A>> 161899=0A=
>> Rename      Link   Symlink     Mkdir     Rmdir   Readdir  RdirPlus=0A>=
> Access=0A>> 36744         2         0       114        40      3131    =
     0=0A>> 544136=0A>> Mknod    Fsstat    Fsinfo  PathConf    Commit=0A>=
> 9         0         0         0    245821=0A>> Rpc Info:=0A>> TimedOut =
  Invalid X Replies   Retries  Requests=0A>> 0         0         0       =
  0   8356557=0A>> Cache Info:=0A>> Attr Hits    Misses Lkup Hits    Miss=
es BioR Hits    Misses BioW Hits=0A>> Misses=0A>> 108754455    491475  54=
229224   2437229  46814561    821723   5132123=0A>> 1871871=0A>> BioRLHit=
s    Misses BioD Hits    Misses DirE Hits    Misses Accs Hits=0A>> Misses=
=0A>> 144035       118     53736      2753     27813         1  57238839=
=0A>> 544205=0A>> =0A>> If you need more things, tell me, i let the PoC i=
n this state.=0A>> =0A>> Thanks=0A>> =0A>> Regards,=0A>> =0A>> Lo=C3=AFc =
Blot,=0A>> UNIX Systems, Network and Security Engineer=0A>> http://www.un=
ix-experience.fr=0A>> =0A>> 21 d=C3=A9cembre 2014 01:33 "Rick Macklem" <r=
macklem@uoguelph.ca> a =C3=A9crit:=0A>> =0A>> Loic Blot wrote:=0A>> =0A>>=
> Hi Rick,=0A>>> ok, i don't need locallocks, i haven't understand option=
 was for=0A>>> that=0A>>> usage, i removed it.=0A>>> I do more tests on m=
onday.=0A>>> Thanks for the deadlock fix, for other people :)=0A>> =0A>> =
Good. Please let us know if running with vfs.nfsd.enable_locallocks=3D0=
=0A>> gets rid of the deadlocks? (I think it fixes the one you saw.)=0A>>=
 =0A>> On the performance side, you might also want to try different valu=
es=0A>> of=0A>> readahead, if the Linux client has such a mount option. (=
With the=0A>> NFSv4-ZFS sequential vs random I/O heuristic, I have no ide=
a what the=0A>> optimal readahead value would be.)=0A>> =0A>> Good luck w=
ith it and please let us know how it goes, rick=0A>> ps: I now have a pat=
ch to fix the deadlock when=0A>> vfs.nfsd.enable_locallocks=3D1=0A>> is s=
et. I'll post it for anyone who is interested after I put it=0A>> through=
 some testing.=0A>> =0A>> --=0A>> Best regards,=0A>> Lo=C3=AFc BLOT,=0A>>=
 UNIX systems, security and network engineer=0A>> http://www.unix-experie=
nce.fr=0A>> =0A>> Le jeudi 18 d=C3=A9cembre 2014 =C3=A0 19:46 -0500, Rick=
 Macklem a =C3=A9crit :=0A>> =0A>> Loic Blot wrote:=0A>>> Hi rick,=0A>>> =
i tried to start a LXC container on Debian Squeeze from my=0A>>> freebsd=
=0A>>> ZFS+NFSv4 server and i also have a deadlock on nfsd=0A>>> (vfs.loo=
kup_shared=3D0). Deadlock procs each time i launch a=0A>>> squeeze=0A>>> =
container, it seems (3 tries, 3 fails).=0A>> =0A>> Well, I`ll take a look=
 at this `procstat -kk`, but the only thing=0A>> I`ve seen posted w.r.t. =
avoiding deadlocks in ZFS is to not use=0A>> nullfs. (I have no idea if y=
ou are using any nullfs mounts, but=0A>> if so, try getting rid of them.)=
=0A>> =0A>> Here`s a high level post about the ZFS and vnode locking prob=
lem,=0A>> but there is no patch available, as far as I know.=0A>> =0A>> h=
ttp://docs.FreeBSD.org/cgi/mid.cgi?54739F41.8030407=0A>> =0A>> rick=0A>> =
=0A>> 921  -  D      0:00.02 nfsd: server (nfsd)=0A>> =0A>> Here is the p=
rocstat -kk=0A>> =0A>> PID    TID COMM             TDNAME           KSTAC=
K=0A>> 921 100538 nfsd             nfsd: master     mi_switch+0xe1=0A>> s=
leepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0xc9e=0A>> vop_stdlock+0x3c =
VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> nfsvno_advlock+0x119 nfsrv_dolocal+=
0x84 nfsrv_lockctrl+0x14ad=0A>> nfsrvd_locku+0x283 nfsrvd_dorpc+0xec6 nfs=
svc_program+0x554=0A>> svc_run_internal+0xc77 svc_run+0x1de nfsrvd_nfsd+0=
x1ca=0A>> nfssvc_nfsd+0x107 sys_nfssvc+0x9c=0A>> 921 100572 nfsd         =
    nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq=
_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thr=
ead_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100573 nfs=
d             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0=
xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x8=
7e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 =
100574 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch=
_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_in=
ternal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=
=0A>> 921 100575 nfsd             nfsd: service    mi_switch+0xe1=0A>> sl=
eepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> =
svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_tram=
poline+0xe=0A>> 921 100576 nfsd             nfsd: service    mi_switch+0x=
e1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0=
x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>>=
 fork_trampoline+0xe=0A>> 921 100577 nfsd             nfsd: service    mi=
_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_=
wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit=
+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100578 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100579 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100580 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100=
581 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 921 100582 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 921 100583 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 921 100584 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wa=
it_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0=
x9a=0A>> fork_trampoline+0xe=0A>> 921 100585 nfsd             nfsd: servi=
ce    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100586 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100587 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100=
588 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 921 100589 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 921 100590 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 921 100591 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wa=
it_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0=
x9a=0A>> fork_trampoline+0xe=0A>> 921 100592 nfsd             nfsd: servi=
ce    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100593 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100594 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100=
595 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 921 100596 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 921 100597 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 921 100598 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wa=
it_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0=
x9a=0A>> fork_trampoline+0xe=0A>> 921 100599 nfsd             nfsd: servi=
ce    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100600 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100601 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100=
602 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 921 100603 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 921 100604 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 921 100605 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wa=
it_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0=
x9a=0A>> fork_trampoline+0xe=0A>> 921 100606 nfsd             nfsd: servi=
ce    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100607 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100608 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100=
609 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 921 100610 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 921 100611 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 921 100612 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wa=
it_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0=
x9a=0A>> fork_trampoline+0xe=0A>> 921 100613 nfsd             nfsd: servi=
ce    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100614 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100615 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100=
616 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3=
a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b=0A>> nfsrv_getlockfile+0x17=
9 nfsrv_lockctrl+0x21f nfsrvd_lock+0x5b1=0A>> nfsrvd_dorpc+0xec6 nfssvc_p=
rogram+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb fork_exit+0=
x9a fork_trampoline+0xe=0A>> 921 100617 nfsd             nfsd: service   =
 mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _=
cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_e=
xit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100618 nfsd             nfsd: =
service    mi_switch+0xe1=0A>> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x=
66 nfsv4_lock+0x9b=0A>> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_i=
nternal+0xc77=0A>> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0x=
e=0A>> 921 100619 nfsd             nfsd: service    mi_switch+0xe1=0A>> s=
leepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>>=
 svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_tra=
mpoline+0xe=0A>> 921 100620 nfsd             nfsd: service    mi_switch+0=
xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+=
0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>=
> fork_trampoline+0xe=0A>> 921 100621 nfsd             nfsd: service    m=
i_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv=
_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exi=
t+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100622 nfsd             nfsd: se=
rvice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0x=
f=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0x=
b fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100623 nfsd           =
  nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_w=
ait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_threa=
d_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100624 nfsd =
            nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xa=
b sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e=
 svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 10=
0625 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_s=
ignals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inte=
rnal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=
=0A>> 921 100626 nfsd             nfsd: service    mi_switch+0xe1=0A>> sl=
eepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> =
svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_tram=
poline+0xe=0A>> 921 100627 nfsd             nfsd: service    mi_switch+0x=
e1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0=
x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>>=
 fork_trampoline+0xe=0A>> 921 100628 nfsd             nfsd: service=20=20=
  mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> =
_cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_=
exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100629 nfsd             nfsd:=
 service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig=
+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start=
+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100630 nfsd        =
     nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleep=
q_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_th=
read_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100631 nf=
sd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+=
0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x=
87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921=
 100632 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catc=
h_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_i=
nternal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0x=
e=0A>> 921 100633 nfsd             nfsd: service    mi_switch+0xe1=0A>> s=
leepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>>=
 svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_tra=
mpoline+0xe=0A>> 921 100634 nfsd             nfsd: service    mi_switch+0=
xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+=
0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>=
> fork_trampoline+0xe=0A>> 921 100635 nfsd             nfsd: service    m=
i_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv=
_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exi=
t+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100636 nfsd             nfsd: se=
rvice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0x=
f=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0x=
b fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100637 nfsd           =
  nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_w=
ait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_threa=
d_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100638 nfsd =
            nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xa=
b sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e=
 svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 10=
0639 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_s=
ignals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inte=
rnal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=
=0A>> 921 100640 nfsd             nfsd: service    mi_switch+0xe1=0A>> sl=
eepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> =
svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_tram=
poline+0xe=0A>> 921 100641 nfsd             nfsd: service    mi_switch+0x=
e1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0=
x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>>=
 fork_trampoline+0xe=0A>> 921 100642 nfsd             nfsd: service    mi=
_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_=
wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit=
+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100643 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100644 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100645 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100=
646 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 921 100647 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 921 100648 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 921 100649 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wa=
it_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0=
x9a=0A>> fork_trampoline+0xe=0A>> 921 100650 nfsd             nfsd: servi=
ce    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100651 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100652 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100=
653 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 921 100654 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 921 100655 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 921 100656 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wa=
it_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0=
x9a=0A>> fork_trampoline+0xe=0A>> 921 100657 nfsd             nfsd: servi=
ce    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100658 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100659 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab=
 sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e =
svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100=
660 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_si=
gnals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_inter=
nal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A=
>> 921 100661 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc=
_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> fork_trampol=
ine+0xe=0A>> 921 100662 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wait_sig+0x1=
6a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>> f=
ork_trampoline+0xe=0A>> 921 100663 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>> _cv_wa=
it_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0=
x9a=0A>> fork_trampoline+0xe=0A>> 921 100664 nfsd             nfsd: servi=
ce    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=
=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread_start+0xb=
 fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100665 nfsd            =
 nfsd: service    mi_switch+0xe1=0A>> sleepq_catch_signals+0xab sleepq_wa=
it_sig+0xf=0A>> _cv_wait_sig+0x16a=0A>> svc_run_internal+0x87e svc_thread=
_start+0xb fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 921 100666 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a _sleep+0=
x287 nfsmsleep+0x66 nfsv4_lock+0x9b=0A>> nfsrv_setclient+0xbd nfsrvd_setc=
lientid+0x3c8=0A>> nfsrvd_dorpc+0xc76=0A>> nfssvc_program+0x554 svc_run_i=
nternal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoli=
ne+0xe=0A>> =0A>> Regards,=0A>> =0A>> Lo=C3=AFc Blot,=0A>> UNIX Systems, =
Network and Security Engineer=0A>> http://www.unix-experience.fr=0A>>; =0A=
>> 15 d=C3=A9cembre 2014 15:18 "Rick Macklem" <rmacklem@uoguelph.ca> a=0A=
>> =C3=A9crit:=0A>> =0A>> Loic Blot wrote:=0A>> =0A>>> For more informati=
ons, here is procstat -kk on nfsd, if you=0A>>> need=0A>>> more=0A>>> hot=
 datas, tell me.=0A>>> =0A>>> Regards,  PID    TID COMM             TDNAM=
E           KSTACK=0A>>> 918 100529 nfsd             nfsd: master     mi_=
switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>=
>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x3=
8d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfs=
svc_program+0x554 svc_run_internal+0xc77 svc_run+0x1de=0A>>> nfsrvd_nfsd+=
0x1ca nfssvc_nfsd+0x107 sys_nfssvc+0x9c=0A>>> amd64_syscall+0x351=0A>> =
=0A>> Well, most of the threads are stuck like this one, waiting for=0A>>=
 a=0A>> vnode=0A>> lock in ZFS. All of them appear to be in zfs_fhtovp().=
=0A>> I`m not a ZFS guy, so I can`t help much. I`ll try changing the=0A>>=
 subject line=0A>> to include ZFS vnode lock, so maybe the ZFS guys will =
take a=0A>> look.=0A>> =0A>> The only thing I`ve seen suggested is trying=
:=0A>> sysctl vfs.lookup_shared=3D0=0A>> to disable shared vop_lookup()s.=
 Apparently zfs_lookup()=0A>> doesn`t=0A>> obey the vnode locking rules f=
or lookup and rename, according=0A>> to=0A>> the posting I saw.=0A>> =0A>=
> I`ve added a couple of comments about the other threads below,=0A>> but=
=0A>> they are all either waiting for an RPC request or waiting for=0A>> =
the=0A>> threads stuck on the ZFS vnode lock to complete.=0A>> =0A>> rick=
=0A>> =0A>>> 918 100564 nfsd             nfsd: service    mi_switch+0xe1=
=0A>>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>>> _cv_wait_sig+0=
x16a=0A>>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>=
>> fork_trampoline+0xe=0A>> =0A>> Fyi, this thread is just waiting for an=
 RPC to arrive. (Normal)=0A>> =0A>>> 918 100565 nfsd             nfsd: se=
rvice    mi_switch+0xe1=0A>>> sleepq_catch_signals+0xab sleepq_wait_sig+0=
xf=0A>>> _cv_wait_sig+0x16a=0A>>> svc_run_internal+0x87e svc_thread_start=
+0xb fork_exit+0x9a=0A>>> fork_trampoline+0xe=0A>>> 918 100566 nfsd      =
       nfsd: service    mi_switch+0xe1=0A>>> sleepq_catch_signals+0xab sl=
eepq_wait_sig+0xf=0A>>> _cv_wait_sig+0x16a=0A>>> svc_run_internal+0x87e s=
vc_thread_start+0xb fork_exit+0x9a=0A>>> fork_trampoline+0xe=0A>>> 918 10=
0567 nfsd             nfsd: service    mi_switch+0xe1=0A>>> sleepq_catch_=
signals+0xab sleepq_wait_sig+0xf=0A>>> _cv_wait_sig+0x16a=0A>>> svc_run_i=
nternal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>>> fork_trampoline+0=
xe=0A>>> 918 100568 nfsd             nfsd: service    mi_switch+0xe1=0A>>=
> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>>> _cv_wait_sig+0x16a=
=0A>>> svc_run_internal+0x87e svc_thread_start+0xb fork_exit+0x9a=0A>>> f=
ork_trampoline+0xe=0A>>> 918 100569 nfsd             nfsd: service    mi_=
switch+0xe1=0A>>> sleepq_catch_signals+0xab sleepq_wait_sig+0xf=0A>>> _cv=
_wait_sig+0x16a=0A>>> svc_run_internal+0x87e svc_thread_start+0xb fork_ex=
it+0x9a=0A>>> fork_trampoline+0xe=0A>>> 918 100570 nfsd             nfsd:=
 service    mi_switch+0xe1=0A>>> sleepq_catch_signals+0xab sleepq_wait_si=
g+0xf=0A>>> _cv_wait_sig+0x16a=0A>>> svc_run_internal+0x87e svc_thread_st=
art+0xb fork_exit+0x9a=0A>>> fork_trampoline+0xe=0A>>> 918 100571 nfsd   =
          nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a _sleep+0=
x287 nfsmsleep+0x66 nfsv4_lock+0x9b=0A>>> nfsrvd_dorpc+0x316 nfssvc_progr=
am+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb fork_exit+0x9a=
 fork_trampoline+0xe=0A>>> 918 100572 nfsd             nfsd: service    m=
i_switch+0xe1=0A>>> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lo=
ck+0x9b=0A>>> nfsrv_setclient+0xbd nfsrvd_setclientid+0x3c8=0A>>> nfsrvd_=
dorpc+0xc76=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_t=
hread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>> =0A>> This =
one (and a few others) are waiting for the nfsv4_lock.=0A>> This=0A>> hap=
pens=0A>> because other threads are stuck with RPCs in progress. (ie. The=
=0A>> ones=0A>> waiting on the vnode lock in zfs_fhtovp().)=0A>> For thes=
e, the RPC needs to lock out other threads to do the=0A>> operation,=0A>>=
 so it waits for the nfsv4_lock() which can exclusively lock the=0A>> NFS=
v4=0A>> data structures once all other nfsd threads complete their RPCs=
=0A>> in=0A>> progress.=0A>> =0A>>> 918 100573 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>>> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66=
 nfsv4_lock+0x9b=0A>>> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_in=
ternal+0xc77=0A>>> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0x=
e=0A>> =0A>> Same as above.=0A>> =0A>>> 918 100574 nfsd             nfsd:=
 service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr=
_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>>=
 zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+=
0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_=
start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100575 nfsd =
            nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleepl=
k+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _v=
n_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0=
xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=
=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>=
> 918 100576 nfsd             nfsd: service    mi_switch+0xe1=0A>>> sleep=
q_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP=
_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+=
0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_r=
un_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_tr=
ampoline+0xe=0A>>> 918 100577 nfsd             nfsd: service    mi_switch=
+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop=
_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>=
>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_pr=
ogram+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_=
exit+0x9a fork_trampoline+0xe=0A>>> 918 100578 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_arg=
s+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs=
_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x91=
7=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_star=
t+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100579 nfsd     =
        nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x=
15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lo=
ck+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 =
nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>=
> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918=
 100580 nfsd             nfsd: service    mi_switch+0xe1=0A>>> sleepq_wai=
t+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK=
1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c =
nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_in=
ternal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampol=
ine+0xe=0A>>> 918 100581 nfsd             nfsd: service    mi_switch+0xe1=
=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdl=
ock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nf=
svno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program=
+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+=
0x9a fork_trampoline+0xe=0A>>> 918 100582 nfsd             nfsd: service =
   mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x9=
02=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhto=
vp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>=
>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=
=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100583 nfsd          =
   nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d _=
_lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x=
43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrv=
d_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc=
_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 1005=
84 nfsd             nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3=
a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV=
+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_=
fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_interna=
l+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0=
xe=0A>>> 918 100585 nfsd             nfsd: service    mi_switch+0xe1=0A>>=
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0=
x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_=
fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x55=
4 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a =
fork_trampoline+0xe=0A>>> 918 100586 nfsd             nfsd: service    mi=
_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A=
>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x=
38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nf=
ssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>=
> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100587 nfsd             nf=
sd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lock=
mgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A=
>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dor=
pc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thre=
ad_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100588 nf=
sd             nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sle=
eplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab=
 _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtov=
p+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc=
77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A=
>>> 918 100589 nfsd             nfsd: service    mi_switch+0xe1=0A>>> sle=
epq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c V=
OP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtov=
p+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc=
_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_=
trampoline+0xe=0A>>> 918 100590 nfsd             nfsd: service    mi_swit=
ch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> v=
op_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=
=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssv=
c_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> f=
ork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100591 nfsd             nfsd:=
 service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr=
_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>>=
 zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+=
0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_=
start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100592 nfsd =
            nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleepl=
k+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _v=
n_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0=
xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=
=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>=
> 918 100593 nfsd             nfsd: service    mi_switch+0xe1=0A>>> sleep=
q_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP=
_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+=
0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_r=
un_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_tr=
ampoline+0xe=0A>>> 918 100594 nfsd             nfsd: service    mi_switch=
+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop=
_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>=
>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_pr=
ogram+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_=
exit+0x9a fork_trampoline+0xe=0A>>> 918 100595 nfsd             nfsd: ser=
vice    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_arg=
s+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs=
_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x91=
7=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_star=
t+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100596 nfsd     =
        nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x=
15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lo=
ck+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 =
nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>=
> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918=
 100597 nfsd             nfsd: service    mi_switch+0xe1=0A>>> sleepq_wai=
t+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK=
1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c =
nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_in=
ternal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampol=
ine+0xe=0A>>> 918 100598 nfsd             nfsd: service    mi_switch+0xe1=
=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdl=
ock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nf=
svno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program=
+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+=
0x9a fork_trampoline+0xe=0A>>> 918 100599 nfsd             nfsd: service =
   mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x9=
02=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhto=
vp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>=
>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=
=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100600 nfsd          =
   nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d _=
_lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x=
43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrv=
d_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc=
_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 1006=
01 nfsd             nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3=
a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV=
+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_=
fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_interna=
l+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0=
xe=0A>>> 918 100602 nfsd             nfsd: service    mi_switch+0xe1=0A>>=
> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0=
x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_=
fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x55=
4 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a =
fork_trampoline+0xe=0A>>> 918 100603 nfsd             nfsd: service    mi=
_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A=
>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x=
38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nf=
ssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>=
> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100604 nfsd             nf=
sd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lock=
mgr_args+0x902=0A>>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A=
>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dor=
pc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thre=
ad_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=0A>>> 918 100605 nf=
sd             nfsd: service    mi_switch+0xe1=0A>>> sleepq_wait+0x3a sle=
eplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3c=20VOP_LOCK1_APV+0x=
ab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fhtovp+0x7c nfsd_fht=
ovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 svc_run_internal+0=
xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fork_trampoline+0xe=
=0A>>> 918 100606 nfsd             nfsd: service    mi_switch+0xe1=0A>>> =
sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>> vop_stdlock+0x3=
c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38d=0A>>> nfsvno_fh=
tovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfssvc_program+0x554 =
svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> fork_exit+0x9a fo=
rk_trampoline+0xe=0A>>> 918 100607 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>>=
> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>> zfs_fhtovp+0x38=
d=0A>>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>>> nfss=
vc_program+0x554 svc_run_internal+0xc77=0A>>> svc_thread_start+0xb=0A>>> =
fork_exit+0x9a fork_trampoline+0xe=0A>> =0A>> Lots more waiting for the Z=
FS vnode lock in zfs_fhtovp().=0A>> =0A>> 918 100608 nfsd             nfs=
d: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a _sleep+0x287 nfsmsleep=
+0x66 nfsv4_lock+0x9b=0A>> nfsrv_getlockfile+0x179 nfsrv_lockctrl+0x21f n=
fsrvd_lock+0x5b1=0A>> nfsrvd_dorpc+0xec6 nfssvc_program+0x554 svc_run_int=
ernal+0xc77=0A>> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe=
=0A>> 918 100609 nfsd             nfsd: service    mi_switch+0xe1=0A>> sl=
eepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c V=
OP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+=
0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_ru=
n_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_tramp=
oline+0xe=0A>> 918 100610 nfsd             nfsd: service    mi_switch+0xe=
1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0xc9e=0A>> vop_stdlo=
ck+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> nfsvno_advlock+0x119 nfsrv_=
dolocal+0x84 nfsrv_lockctrl+0x14ad=0A>> nfsrvd_locku+0x283 nfsrvd_dorpc+0=
xec6 nfssvc_program+0x554=0A>> svc_run_internal+0xc77 svc_thread_start+0x=
b fork_exit+0x9a=0A>> fork_trampoline+0xe=0A>> 918 100611 nfsd           =
  nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a _sleep+0x287 nfsm=
sleep+0x66 nfsv4_lock+0x9b=0A>> nfsrvd_dorpc+0x316 nfssvc_program+0x554 s=
vc_run_internal+0xc77=0A>> svc_thread_start+0xb fork_exit+0x9a fork_tramp=
oline+0xe=0A>> 918 100612 nfsd             nfsd: service    mi_switch+0xe=
1=0A>> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b=0A>> =
nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_t=
hread_start+0xb fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100613 nfsd  =
           nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a _sleep+0=
x287 nfsmsleep+0x66 nfsv4_lock+0x9b=0A>> nfsrvd_dorpc+0x316 nfssvc_progra=
m+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb fork_exit+0x9a f=
ork_trampoline+0xe=0A>> 918 100614 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0=
x9b=0A>> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77=
=0A>> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe=0A>> 918 10=
0615 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x=
3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b=0A>> nfsrvd_dorpc+0x316 nf=
ssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb fork_=
exit+0x9a fork_trampoline+0xe=0A>> 918 100616 nfsd             nfsd: serv=
ice    mi_switch+0xe1=0A>> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 n=
fsv4_lock+0x9b=0A>> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_inter=
nal+0xc77=0A>> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe=0A=
>> 918 100617 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleep=
q_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b=0A>> nfsrvd_dorpc=
+0x316 nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+=
0xb fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100618 nfsd             n=
fsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a _sleep+0x287 nfsmsle=
ep+0x66 nfsv4_lock+0x9b=0A>> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_=
run_internal+0xc77=0A>> svc_thread_start+0xb fork_exit+0x9a fork_trampoli=
ne+0xe=0A>> 918 100619 nfsd             nfsd: service    mi_switch+0xe1=
=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdloc=
k+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno=
_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x55=
4 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fo=
rk_trampoline+0xe=0A>> 918 100620 nfsd             nfsd: service    mi_sw=
itch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> v=
op_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A=
>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_pro=
gram+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exi=
t+0x9a fork_trampoline+0xe=0A>> 918 100621 nfsd             nfsd: service=
    mi_switch+0xe1=0A>> sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv=
4_lock+0x9b=0A>> nfsrvd_dorpc+0x316 nfssvc_program+0x554 svc_run_internal=
+0xc77=0A>> svc_thread_start+0xb fork_exit+0x9a fork_trampoline+0xe=0A>> =
918 100622 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_w=
ait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOC=
K1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c n=
fsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_inte=
rnal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+=
0xe=0A>> 918 100623 nfsd             nfsd: service    mi_switch+0xe1=0A>>=
 sleepq_wait+0x3a _sleep+0x287 nfsmsleep+0x66 nfsv4_lock+0x9b=0A>> nfsrvd=
_dorpc+0x316 nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_=
start+0xb fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100624 nfsd        =
     nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d =
__lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x=
43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_=
dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_thr=
ead_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100625 nfs=
d             nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleep=
lk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _v=
n_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc=
8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>=
> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 1=
00626 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0=
x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_AP=
V+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_f=
htovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+=
0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=
=0A>> 918 100627 nfsd             nfsd: service    mi_switch+0xe1=0A>> sl=
eepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c V=
OP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+=
0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_ru=
n_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_tramp=
oline+0xe=0A>> 918 100628 nfsd             nfsd: service    mi_switch+0xe=
1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlo=
ck+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvn=
o_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x5=
54 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a f=
ork_trampoline+0xe=0A>> 918 100629 nfsd             nfsd: service    mi_s=
witch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> =
vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=
=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_=
program+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_=
exit+0x9a fork_trampoline+0xe=0A>> 918 100630 nfsd             nfsd: serv=
ice    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+=
0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fht=
ovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>=
> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=
=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918=20100631 nfsd          =
   nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __=
lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=
=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_do=
rpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_threa=
d_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100632 nfsd =
            nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk=
+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_=
lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 =
nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> =
svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100=
633 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3=
a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+=
0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fht=
ovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0x=
c77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>=
> 918 100634 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq=
_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_L=
OCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c=
 nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_in=
ternal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampolin=
e+0xe=0A>> 918 100635 nfsd             nfsd: service    mi_switch+0xe1=0A=
>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0=
x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fh=
tovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 s=
vc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_=
trampoline+0xe=0A>> 918 100636 nfsd             nfsd: service    mi_switc=
h+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_=
stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> =
nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_progra=
m+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0=
x9a fork_trampoline+0xe=0A>> 918 100637 nfsd             nfsd: service   =
 mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=
=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0=
x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfs=
svc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> f=
ork_exit+0x9a fork_trampoline+0xe=0A>> 918 100638 nfsd             nfsd: =
service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_a=
rgs+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs=
_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=
=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0=
xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100639 nfsd          =
   nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __=
lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=
=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_do=
rpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_threa=
d_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100640 nfsd =
            nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk=
+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_=
lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 =
nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> =
svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100=
641 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3=
a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+=
0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fht=
ovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0x=
c77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>=
> 918 100642 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq=
_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_L=
OCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c=
 nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_in=
ternal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampolin=
e+0xe=0A>> 918 100643 nfsd             nfsd: service    mi_switch+0xe1=0A=
>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0=
x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fh=
tovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 s=
vc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_=
trampoline+0xe=0A>> 918 100644 nfsd             nfsd: service    mi_switc=
h+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_=
stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> =
nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_progra=
m+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0=
x9a fork_trampoline+0xe=0A>> 918 100645 nfsd             nfsd: service   =
 mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=
=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0=
x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfs=
svc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> f=
ork_exit+0x9a fork_trampoline+0xe=0A>> 918 100646 nfsd             nfsd: =
service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_a=
rgs+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs=
_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=
=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0=
xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100647 nfsd          =
   nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __=
lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=
=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_do=
rpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_threa=
d_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100648 nfsd =
            nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk=
+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_=
lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 =
nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> =
svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100=
649 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3=
a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+=
0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fht=
ovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0x=
c77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>=
> 918 100650 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq=
_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_L=
OCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c=
 nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_in=
ternal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampolin=
e+0xe=0A>> 918 100651 nfsd             nfsd: service    mi_switch+0xe1=0A=
>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0=
x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fh=
tovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 s=
vc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_=
trampoline+0xe=0A>> 918 100652 nfsd             nfsd: service    mi_switc=
h+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_=
stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> =
nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_progra=
m+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0=
x9a fork_trampoline+0xe=0A>> 918 100653 nfsd             nfsd: service   =
 mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=
=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0=
x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfs=
svc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_start+0xb=0A>>=
=20fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100654 nfsd             nf=
sd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15d __lockm=
gr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>>=
 zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0=
x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_thread_sta=
rt+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100655 nfsd      =
       nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sleeplk+0x15=
d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab _vn_lock+=
0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0xc8 nfsrv=
d_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=0A>> svc_t=
hread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 918 100656 n=
fsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_wait+0x3a sle=
eplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK1_APV+0xab =
_vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nfsd_fhtovp+0=
xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_internal+0xc77=
=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0xe=0A>> 9=
18 100657 nfsd             nfsd: service    mi_switch+0xe1=0A>> sleepq_wa=
it+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c VOP_LOCK=
1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtovp+0x7c nf=
sd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_run_inter=
nal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_trampoline+0=
xe=0A>> 918 100658 nfsd             nfsd: service    mi_switch+0xe1=0A>> =
sleepq_wait+0x3a sleeplk+0x15d __lockmgr_args+0x902=0A>> vop_stdlock+0x3c=
 VOP_LOCK1_APV+0xab _vn_lock+0x43=0A>> zfs_fhtovp+0x38d=0A>> nfsvno_fhtov=
p+0x7c nfsd_fhtovp+0xc8 nfsrvd_dorpc+0x917=0A>> nfssvc_program+0x554 svc_=
run_internal+0xc77=0A>> svc_thread_start+0xb=0A>> fork_exit+0x9a fork_tra=
mpoline+0xe=0A>> =0A>> Lo=C3=AFc Blot,=0A>> UNIX Systems, Network and Sec=
urity Engineer=0A>> http://www.unix-experience.fr=0A>>; =0A>> 15 d=C3=A9ce=
mbre 2014 13:29 "Lo=C3=AFc Blot"=0A>> <loic.blot@unix-experience.fr>=0A>>=
 a=0A>> =C3=A9crit:=0A>> =0A>> Hmmm...=0A>> now i'm experiencing a deadlo=
ck.=0A>> =0A>> 0 918 915 0 21 0 12352 3372 zfs D - 1:48.64 nfsd: server=
=0A>> (nfsd)=0A>> =0A>> the only issue was to reboot the server, but afte=
r rebooting=0A>> deadlock arrives a second time when i=0A>> start my jail=
s over NFS.=0A>> =0A>> Regards,=0A>> =0A>> Lo=C3=AFc Blot,=0A>> UNIX Syst=
ems, Network and Security Engineer=0A>> http://www.unix-experience.fr=0A>=
> =0A>> 15 d=C3=A9cembre 2014 10:07 "Lo=C3=AFc Blot"=0A>> <loic.blot@unix=
-experience.fr>=0A>> a=0A>> =C3=A9crit:=0A>> =0A>> Hi Rick,=0A>> after ta=
lking with my N+1, NFSv4 is required on our=0A>> infrastructure.=0A>> I t=
ried to upgrade NFSv4+ZFS=0A>> server from 9.3 to 10.1, i hope this will =
resolve some=0A>> issues...=0A>> =0A>> Regards,=0A>> =0A>> Lo=C3=AFc Blot=
,=0A>> UNIX Systems, Network and Security Engineer=0A>> http://www.unix-e=
xperience.fr=0A>> =0A>> 10 d=C3=A9cembre 2014 15:36 "Lo=C3=AFc Blot"=0A>>=
 <loic.blot@unix-experience.fr>=0A>> a=0A>> =C3=A9crit:=0A>> =0A>> Hi Ric=
k,=0A>> thanks for your suggestion.=0A>> For my locking bug, rpc.lockd is=
 stucked in rpcrecv state on=0A>> the=0A>> server. kill -9 doesn't affect=
 the=0A>> process, it's blocked.... (State: Ds)=0A>> =0A>> for the perfor=
mances=0A>> =0A>> NFSv3: 60Mbps=0A>> NFSv4: 45Mbps=0A>> Regards,=0A>> =0A=
>> Lo=C3=AFc Blot,=0A>> UNIX Systems, Network and Security Engineer=0A>> =
http://www.unix-experience.fr=0A>>; =0A>> 10 d=C3=A9cembre 2014 13:56 "Ric=
k Macklem" <rmacklem@uoguelph.ca>=0A>> a=0A>> =C3=A9crit:=0A>> =0A>> Loic=
 Blot wrote:=0A>> =0A>>> Hi Rick,=0A>>> I'm trying NFSv3.=0A>>> Some jail=
s are starting very well but now i have an issue=0A>>> with=0A>>> lockd=
=0A>>> after some minutes:=0A>>> =0A>>> nfs server 10.10.X.8:/jails: lock=
d not responding=0A>>> nfs server 10.10.X.8:/jails lockd is alive again=
=0A>>> =0A>>> I look at mbuf, but i seems there is no problem.=0A>> =0A>>=
 Well, if you need locks to be visible across multiple=0A>> clients,=0A>>=
 then=0A>> I'm afraid you are stuck with using NFSv4 and the=0A>> perform=
ance=0A>> you=0A>> get=0A>> from it. (There is no way to do file handle a=
ffinity for=0A>> NFSv4=0A>> because=0A>> the read and write ops are burie=
d in the compound RPC and=0A>> not=0A>> easily=0A>> recognized.)=0A>> =0A=
>> If the locks don't need to be visible across multiple=0A>> clients,=0A=
>> I'd=0A>> suggest trying the "nolockd" option with nfsv3.=0A>> =0A>>> H=
ere is my rc.conf on server:=0A>>> =0A>>> nfs_server_enable=3D"YES"=0A>>>=
 nfsv4_server_enable=3D"YES"=0A>>> nfsuserd_enable=3D"YES"=0A>>> nfsd_ser=
ver_flags=3D"-u -t -n 256"=0A>>> mountd_enable=3D"YES"=0A>>> mountd_flags=
=3D"-r"=0A>>> nfsuserd_flags=3D"-usertimeout 0 -force 20"=0A>>> rpcbind_e=
nable=3D"YES"=0A>>> rpc_lockd_enable=3D"YES"=0A>>> rpc_statd_enable=3D"YE=
S"=0A>>> =0A>>> Here is the client:=0A>>> =0A>>> nfsuserd_enable=3D"YES"=
=0A>>> nfsuserd_flags=3D"-usertimeout 0 -force 20"=0A>>> nfscbd_enable=3D=
"YES"=0A>>> rpc_lockd_enable=3D"YES"=0A>>> rpc_statd_enable=3D"YES"=0A>>>=
 =0A>>> Have you got an idea ?=0A>>> =0A>>> Regards,=0A>>> =0A>>> Lo=C3=
=AFc Blot,=0A>>> UNIX Systems, Network and Security Engineer=0A>>> http:/=
/www.unix-experience.fr=0A>>> =0A>>> 9 d=C3=A9cembre 2014 04:31 "Rick Mac=
klem" <rmacklem@uoguelph.ca>=0A>>> a=0A>>> =C3=A9crit:=0A>>>> Loic Blot w=
rote:=0A>>>> =0A>>>>> Hi rick,=0A>>>>> =0A>>>>> I waited 3 hours (no lag =
at jail launch) and now I do:=0A>>>>> sysrc=0A>>>>> memcached_flags=3D"-v=
 -m 512"=0A>>>>> Command was very very slow...=0A>>>>> =0A>>>>> Here is a=
 dd over NFS:=0A>>>>> =0A>>>>> 601062912 bytes transferred in 21.060679 s=
ecs (28539579=0A>>>>> bytes/sec)=0A>>>> =0A>>>> Can you try the same read=
 using an NFSv3 mount?=0A>>>> (If it runs much faster, you have probably =
been bitten by=0A>>>> the=0A>>>> ZFS=0A>>>> "sequential vs random" read h=
euristic which I've been told=0A>>>> things=0A>>>> NFS is doing "random" =
reads without file handle affinity.=0A>>>> File=0A>>>> handle affinity is=
 very hard to do for NFSv4, so it isn't=0A>>>> done.)=0A>> =0A>> I was ac=
tually suggesting that you try the "dd" over nfsv3=0A>> to=0A>> see=0A>> =
how=0A>> the performance compared with nfsv4. If you do that, please=0A>>=
 post=0A>> the=0A>> comparable results.=0A>> =0A>> Someday I would like t=
o try and get ZFS's sequential vs=0A>> random=0A>> read=0A>> heuristic mo=
dified and any info on what difference in=0A>> performance=0A>> that=0A>>=
 might make for NFS would be useful.=0A>> =0A>> rick=0A>> =0A>> rick=0A>>=
 =0A>> This is quite slow...=0A>> =0A>> You can found some nfsstat below =
(command isn't finished=0A>> yet)=0A>> =0A>> nfsstat -c -w 1=0A>> =0A>> G=
tAttr Lookup Rdlink Read Write Rename Access Rddir=0A>> 0 0 0 0 0 0 0 0=
=0A>> 4 0 0 0 0 0 16 0=0A>> 2 0 0 0 0 0 17 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 =
0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 4 0 0 0 0 =
4 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0=
 0 0 0 0 0 0 0=0A>> 4 0 0 0 0 0 3 0=0A>> 0 0 0 0 0 0 3 0=0A>> 37 10 0 8 0=
 0 14 1=0A>> 18 16 0 4 1 2 4 0=0A>> 78 91 0 82 6 12 30 0=0A>> 19 18 0 2 2=
 4 2 0=0A>> 0 0 0 0 2 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> GtAttr Lookup Rdlin=
k Read Write Rename Access Rddir=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 =
0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 1 0 0 0 0 1 0=0A>> 4 6 0 0 6 0 3 0=0A>> 2 0=
 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 1 0 0 0 0 0 0 0=0A>> 0 0 0 0 1 0 0=
 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 =
0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 =
0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 6 108 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>>=
 0 0 0 0 0 0 0 0=0A>> GtAttr Lookup Rdlink Read Write Rename Access Rddir=
=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 =
0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 =
0=0A>> 98 54 0 86 11 0 25 0=0A>> 36 24 0 39 25 0 10 1=0A>> 67 8 0 63 63 0=
 41 0=0A>> 34 0 0 35 34 0 0 0=0A>> 75 0 0 75 77 0 0 0=0A>> 34 0 0 35 35 0=
 0 0=0A>> 75 0 0 74 76 0 0 0=0A>> 33 0 0 34 33 0 0 0=0A>> 0 0 0 0 5 0 0 0=
=0A>> 0 0 0 0 0 0 6 0=0A>> 11 0 0 0 0 0 11 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 =
17 0 0 0 0 1 0=0A>> GtAttr Lookup Rdlink Read Write Rename Access Rddir=
=0A>> 4 5 0 0 0 0 12 0=0A>> 2 0 0 0 0 0 26 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 =
0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 =
0 0=0A>> 0 4 0 0 0 0 4 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0=
 0 0 0 0 0 0 0=0A>> 4 0 0 0 0 0 2 0=0A>> 2 0 0 0 0 0 24 0=0A>> 0 0 0 0 0 =
0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>>=
 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> GtAttr Lo=
okup Rdlink Read Write Rename Access Rddir=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 =
0 0 0 0 0 0=0A>> 4 0 0 0 0 0 7 0=0A>> 2 1 0 0 0 0 1 0=0A>> 0 0 0 0 2 0 0 =
0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 6 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0=
 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>>=200 0 0 0 0 0=
 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 4 6 0 0 0 0 3 0=0A>> 0 0 0 0 0 0 0 0=0A>> =
2 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 =
0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> GtAttr Lookup Rdlink Read Write Rename Ac=
cess Rddir=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=
=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 4 71 0 0 0 0 0 0=0A>> 0 1=
 0 0 0 0 0 0=0A>> 2 36 0 0 0 0 1 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 =
0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 1 0 0 0 0 0 1 0=0A>> 0=
 0 0 0 0 0 0 0=0A>> 0 0 0 0 0 0 0 0=0A>> 79 6 0 79 79 0 2 0=0A>> 25 0 0 2=
5 26 0 6 0=0A>> 43 18 0 39 46 0 23 0=0A>> 36 0 0 36 36 0 31 0=0A>> 68 1 0=
 66 68 0 0 0=0A>> GtAttr Lookup Rdlink Read Write Rename Access Rddir=0A>=
> 36 0 0 36 36 0 0 0=0A>> 48 0 0 48 49 0 0 0=0A>> 20 0 0 20 20 0 0 0=0A>>=
 0 0 0 0 0 0 0 0=0A>> 3 14 0 1 0 0 11 0=0A>> 0 0 0 0 0 0 0 0=0A>> 0 0 0 0=
 0 0 0 0=0A>> 0 4 0 0 0 0 4 0=0A>> 0 0 0 0 0 0 0 0=0A>> 4 22 0 0 0 0 16 0=
=0A>> 2 0 0 0 0 0 23 0=0A>> =0A>> Regards,=0A>> =0A>> Lo=C3=AFc Blot,=0A>=
> UNIX Systems, Network and Security Engineer=0A>> http://www.unix-experi=
ence.fr=0A>> =0A>> 8 d=C3=A9cembre 2014 09:36 "Lo=C3=AFc Blot"=0A>> <loic=
.blot@unix-experience.fr> a=0A>> =C3=A9crit:=0A>>> Hi Rick,=0A>>> I stopp=
ed the jails this week-end and started it this=0A>>> morning,=0A>>> i'll=
=0A>>> give you some stats this week.=0A>>> =0A>>> Here is my nfsstat -m =
output (with your rsize/wsize=0A>>> tweaks)=0A>> =0A>> =0A> nfsv4,tcp,res=
vport,hard,cto,sec=3Dsys,acdirmin=3D3,acdirmax=3D60,acregmin=3D5,acregmax=
=3D60,nametimeo=3D60,negna=0A>> =0A>> =0A> etimeo=3D60,rsize=3D32768,wsiz=
e=3D32768,readdirsize=3D32768,readahead=3D1,wcommitsize=3D773136,timeout=
=3D120,retra=0A>> =0A>> s=3D2147483647=0A>> =0A>> On server side my disks=
 are on a raid controller which show a=0A>> 512b=0A>> volume and write pe=
rformances=0A>> are very honest (dd if=3D/dev/zero of=3D/jails/test.dd bs=
=3D4096=0A>> count=3D100000000 =3D> 450MBps)=0A>> =0A>> Regards,=0A>> =0A=
>> Lo=C3=AFc Blot,=0A>> UNIX Systems, Network and Security Engineer=0A>> =
http://www.unix-experience.fr=0A>>; =0A>> 5 d=C3=A9cembre 2014 15:14 "Rick=
 Macklem" <rmacklem@uoguelph.ca> a=0A>> =C3=A9crit:=0A>> =0A>> Loic Blot =
wrote:=0A>> =0A>> Hi,=0A>> i'm trying to create a virtualisation environm=
ent based on=0A>> jails.=0A>> Those jails are stored under a big ZFS pool=
 on a FreeBSD=0A>> 9.3=0A>> which=0A>> export a NFSv4 volume. This NFSv4 =
volume was mounted on a=0A>> big=0A>> hypervisor (2 Xeon E5v3 + 128GB mem=
ory and 8 ports (but=0A>> only 1=0A>> was=0A>> used at this time).=0A>> =
=0A>> The problem is simple, my hypervisors runs 6 jails (used 1%=0A>> cp=
u=0A>> and=0A>> 10GB RAM approximatively and less than 1MB bandwidth) and=
=0A>> works=0A>> fine at start but the system slows down and after 2-3 da=
ys=0A>> become=0A>> unusable. When i look at top command i see 80-100% on=
=0A>> system=0A>> and=0A>> commands are very very slow. Many process are =
tagged with=0A>> nfs_cl*.=0A>> =0A>> To be honest, I would expect the slo=
wness to be because of=0A>> slow=0A>> response=0A>> from the NFSv4 server=
, but if you do:=0A>> # ps axHl=0A>> on a client when it is slow and post=
 that, it would give us=0A>> some=0A>> more=0A>> information on where the=
 client side processes are sitting.=0A>> If you also do something like:=
=0A>> # nfsstat -c -w 1=0A>> and let it run for a while, that should show=
 you how many=0A>> RPCs=0A>> are=0A>> being done and which ones.=0A>> =0A=
>> # nfsstat -m=0A>> will show you what your mount is actually using.=0A>=
> The only mount option I can suggest trying is=0A>> "rsize=3D32768,wsize=
=3D32768",=0A>> since some network environments have difficulties with 64=
K.=0A>> =0A>> There are a few things you can try on the NFSv4 server side=
,=0A>> if=0A>> it=0A>> appears=0A>> that the clients are generating a lar=
ge RPC load.=0A>> - disabling the DRC cache for TCP by setting=0A>> vfs.n=
fsd.cachetcp=3D0=0A>> - If the server is seeing a large write RPC load, t=
hen=0A>> "sync=3Ddisabled"=0A>> might help, although it does run a risk o=
f data loss when=0A>> the=0A>> server=0A>> crashes.=0A>> Then there are a=
 couple of other ZFS related things (I'm not=0A>> a=0A>> ZFS=0A>> guy,=0A=
>> but these have shown up on the mailing lists).=0A>> - make sure your v=
olumes are 4K aligned and ashift=3D12 (in=0A>> case a=0A>> drive=0A>> tha=
t uses 4K sectors is pretending to be 512byte sectored)=0A>> - never run =
over 70-80% full if write performance is an=0A>> issue=0A>> - use a zil o=
n an SSD with good write performance=0A>> =0A>> The only NFSv4 thing I ca=
n tell you is that it is known that=0A>> ZFS's=0A>> algorithm for determi=
ning sequential vs random I/O fails for=0A>> NFSv4=0A>> during writing an=
d this can be a performance hit. The only=0A>> workaround=0A>> is to use =
NFSv3 mounts, since file handle affinity=0A>> apparently=0A>> fixes=0A>> =
the problem and this is only done for NFSv3.=0A>> =0A>> rick=0A>> =0A>> I=
 saw that there are TSO issues with igb then i'm trying to=0A>> disable=
=0A>> it with sysctl but the situation wasn't solved.=0A>> =0A>> Someone =
has got ideas ? I can give you more informations if=0A>> you=0A>> need.=
=0A>> =0A>> Thanks in advance.=0A>> Regards,=0A>> =0A>> Lo=C3=AFc Blot,=
=0A>> UNIX Systems, Network and Security Engineer=0A>> http://www.unix-ex=
perience.fr=0A>> _______________________________________________=0A>> fre=
ebsd-fs@freebsd.org mailing list=0A>> http://lists.freebsd.org/mailman/li=
stinfo/freebsd-fs=0A>> To unsubscribe, send any mail to=0A>> "freebsd-fs-=
unsubscribe@freebsd.org"=0A>> =0A>> _____________________________________=
__________=0A>> freebsd-fs@freebsd.org mailing list=0A>> http://lists.fre=
ebsd.org/mailman/listinfo/freebsd-fs=0A>> To unsubscribe, send any mail t=
o=0A>> "freebsd-fs-unsubscribe@freebsd.org"=0A>> =0A>> __________________=
_____________________________=0A>> freebsd-fs@freebsd.org mailing list=0A=
>> http://lists.freebsd.org/mailman/listinfo/freebsd-fs=0A>>; To unsubscri=
be, send any mail to=0A>> "freebsd-fs-unsubscribe@freebsd.org"=0A>> =0A>>=
 _______________________________________________=0A>> freebsd-fs@freebsd.=
org mailing list=0A>> http://lists.freebsd.org/mailman/listinfo/freebsd-f=
s=0A>> To unsubscribe, send any mail to=0A>> "freebsd-fs-unsubscribe@free=
bsd.org"=0A>> _______________________________________________=0A>> freebs=
d-fs@freebsd.org mailing list=0A>> http://lists.freebsd.org/mailman/listi=
nfo/freebsd-fs=0A>> To unsubscribe, send any mail to=0A>> "freebsd-fs-uns=
ubscribe@freebsd.org"=0A>> =0A>> ________________________________________=
_______=0A>> freebsd-fs@freebsd.org mailing list=0A>> http://lists.freebs=
d.org/mailman/listinfo/freebsd-fs=0A>> To unsubscribe, send any mail to "=
freebsd-fs-unsubscribe@freebsd.org"



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