Locked up processes after upgrade to ZFS v15
Andriy Gapon
avg at icyb.net.ua
Tue Oct 12 16:10:41 UTC 2010
on 12/10/2010 18:45 Jeremy Chadwick said the following:
> Okay, I realised what I did wrong with the original incarnation of
> your modified sendfile stuff -- the code defaults to using /tmp, which
> idiotically I forgot to change to a ZFS filesystem (/tmp isn't ZFS
> on the testbox). Now that I changed it to /home, I can reproduce the
> problem. Excellent!
OK, that explains your original results.
Thanks for pinpointing the issue.
> Secondly: the testbox is running kernel/world source from October 8th.
> I *have not* applied your kernel patch at this point. Just a FYI.
OK, can you now retest with the patch?
I plan on committing it in the next couple of hours.
> So here's what I get. Note that the sendfile process appears locked up
> in zfsmrb state.
>
>
> Terminal #1 (sendfile)
> ------------------------
> testbox# ./sendfile
> 1..11
> ok 1
> ok 2
> ok 3
> ok 4
> ok 5
> ok 6
> ok 7
> ok 8
> ok 9
> ok 10
> ok 11
> mmap test
> ^C
>
>
> Terminal #2 (DTrace script + ps output)
> -----------------------------------------
> testbox# ./zfs_sendfile.d
> dtrace: script './zfs_sendfile.d' matched 5 probes
> CPU ID FUNCTION:NAME
> 1 22458 vm_page_lookup:return
> valid = 0x01
> flags = 0x0000
> oflags = 0x0001
> pindex = 4
> object = c614e550
>
> ^C
>
>
> 0xc457b43d
> kernel`VOP_READ_APV+0x7a
> kernel`vnode_pager_generic_getpages+0x329
> kernel`vop_stdgetpages+0x29
> kernel`VOP_GETPAGES_APV+0x83
> kernel`vnode_pager_getpages+0x19a
> kernel`vm_fault+0x1139
> kernel`trap_pfault+0x173
> kernel`trap+0x2cb
> kernel`0xc07d29bc
> 1
Excellent! Behold the power of DTrace :-)
> testbox# ps -axl | grep sendfile
> 0 1318 1132 0 52 0 3324 1024 zfsmrb DL+ u0 0:00.01 ./sendfile
> 0 1333 1170 0 44 0 3444 1200 - R+ 0 0:00.00 grep sendfile
> testbox# procstat -k -k 1318
> PID TID COMM TDNAME KSTACK
> 1318 100126 sendfile - mi_switch+0x11b sleepq_switch+0xc1 sleepq_wait+0x39 _sleep+0x282 vm_page_sleep+0xd5 zfs_freebsd_read+0x2f3 VOP_READ_APV+0x7a vnode_pager_generic_getpages+0x329 vop_stdgetpages+0x29 VOP_GETPAGES_APV+0x83 vnode_pager_getpages+0x19a vm_fault+0x1139 trap_pfault+0x173 trap+0x2cb calltrap+0x6
>
--
Andriy Gapon
More information about the freebsd-fs
mailing list