zfs recv hangs in kmem arena
Alan Cox
alan.l.cox at gmail.com
Tue Oct 21 22:05:33 UTC 2014
On Tue, Oct 21, 2014 at 5:03 PM, Alan Cox <alan.l.cox at gmail.com> wrote:
> On Sun, Oct 19, 2014 at 10:30 AM, James R. Van Artsdalen <
> james-freebsd-fs2 at jrv.org> wrote:
>
>> Removing kern.maxfiles from loader.conf still hangs in "kmem arena".
>>
>> I tried using a memstick image of -CURRENT made from the release/
>> process and this also hangs in "kmem arena"
>>
>> An uninvolved server of mine hung Friday night in state"kmem arena"
>> during periodic's "zpool history". After a reboot it did not hang
>> Saturday night.
>>
>>
>
>
> How up to date is your source tree? r2720221 is relevant. Without that
> change, there are circumstances in which the code that is supposed to free
> space from the kmem arena doesn't get called.
>
>
That should be r272071.
>
>
>
>> On 10/16/2014 11:37 PM, James R. Van Artsdalen wrote:
>> > On 10/16/2014 11:10 PM, Xin Li wrote:
>> >> On 10/16/14 8:43 PM, James R. Van Artsdalen wrote:
>> >>> On 10/16/2014 11:12 AM, Xin Li wrote:
>> >>>>> On 9/26/2014 1:42 AM, James R. Van Artsdalen wrote:
>> >>>>>> FreeBSD BLACKIE.housenet.jrv 10.1-BETA2 FreeBSD 10.1-BETA2
>> >>>>>> #2 r272070M: Wed Sep 24 17:36:56 CDT 2014
>> >>>>>> james at BLACKIE.housenet.jrv:/usr/obj/usr/src/sys/GENERIC
>> >>>>>> amd64
>> >>>>>>
>> >>>>>> With current STABLE10 I am unable to replicate a ZFS pool
>> >>>>>> using zfs send/recv without zfs hanging in state "kmem
>> >>>>>> arena", within the first 4TB or so (of a 23TB Pool).
>> >>>> What does procstat -kk 1176 (or the PID of your 'zfs' process
>> >>>> that stuck in that state) say?
>> >>>>
>> >>>> Cheers,
>> >>>>
>> >>> SUPERTEX:/root# ps -lp 866 UID PID PPID CPU PRI NI VSZ RSS
>> >>> MWCHAN STAT TT TIME COMMAND 0 866 863 0 52 0 66800
>> >>> 29716 kmem are D+ 1 57:40.82 zfs recv -duvF BIGTOX
>> >>> SUPERTEX:/root# procstat -kk 866 PID TID COMM TDNAME
>> >>> KSTACK 866 101573 zfs - mi_switch+0xe1
>> >>> sleepq_wait+0x3a _cv_wait+0x16d vmem_xalloc+0x568 vmem_alloc+0x3d
>> >>> kmem_malloc+0x33 keg_alloc_slab+0xcd keg_fetch_slab+0x151
>> >>> zone_fetch_slab+0x7e zone_import+0x40 uma_zalloc_arg+0x34e
>> >>> arc_get_data_buf+0x31a arc_buf_alloc+0xaa dmu_buf_will_fill+0x169
>> >>> dmu_write+0xfc dmu_recv_stream+0xd40 zfs_ioc_recv+0x94e
>> >>> zfsdev_ioctl+0x5ca
>> >> Do you have any special tuning in your /boot/loader.conf?
>> >>
>> >> Cheers,
>> >>
>> > Below. I had forgotten some of this was there.
>> >
>> > After sending the previous message I ran kgdb to see if I could get a
>> > backtrace with function args. I didn't see how to do it for this proc,
>> > but during all this the process un-blocked and started running again.
>> >
>> > The process blocked again in kmem arena after a few minutes.
>> >
>> >
>> > SUPERTEX:/root# cat /boot/loader.conf
>> > zfs_load="YES" # ZFS
>> > vfs.root.mountfrom="zfs:SUPERTEX/UNIX" # Specify root partition
>> > in a way the
>> > # kernel understands
>> > kern.maxfiles="32K" # Set the sys. wide open files limit
>> > kern.ktrace.request_pool="512"
>> > #vfs.zfs.debug=1
>> > vfs.zfs.check_hostid=0
>> >
>> > loader_logo="beastie" # Desired logo: fbsdbw, beastiebw, beastie,
>> > none
>> > boot_verbose="YES" # -v: Causes extra debugging information to be
>> > printed
>> > geom_mirror_load="YES" # RAID1 disk driver (see gmirror(8))
>> > geom_label_load="YES" # File system labels (see glabel(8))
>> > ahci_load="YES"
>> > siis_load="YES"
>> > mvs_load="YES"
>> > coretemp_load="YES" # Intel Core CPU temperature monitor
>> > #console="comconsole"
>> > kern.msgbufsize="131072" # Set size of kernel message buffer
>> >
>> > kern.geom.label.gpt.enable=0
>> > kern.geom.label.gptid.enable=0
>> > kern.geom.label.disk_ident.enable=0
>> > SUPERTEX:/root#
>> >
>>
>> _______________________________________________
>> freebsd-current at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org
>> "
>>
>
>
More information about the freebsd-fs
mailing list