From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ve0-f173.google.com ([209.85.128.173]:37680 "EHLO mail-ve0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753480Ab3LNUag (ORCPT ); Sat, 14 Dec 2013 15:30:36 -0500 Received: by mail-ve0-f173.google.com with SMTP id oz11so2352311veb.32 for ; Sat, 14 Dec 2013 12:30:36 -0800 (PST) MIME-Version: 1.0 Date: Sat, 14 Dec 2013 21:30:36 +0100 Message-ID: Subject: Blocket for more than 120 seconds From: Hans-Kristian Bakke To: linux-btrfs@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-btrfs-owner@vger.kernel.org List-ID: Hi During high disk loads, like backups combinded with lot of writers, rsync at high speed locally or btrfs defrag I always get these messages, and everything grinds to a halt on the btrfs filesystem: [ 3123.062229] INFO: task rtorrent:8431 blocked for more than 120 seconds. [ 3123.062251] Not tainted 3.12.4 #1 [ 3123.062263] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 3123.062284] rtorrent D ffff88043fc12e80 0 8431 8429 0x00000000 [ 3123.062287] ffff8804289d07b0 0000000000000082 ffffffff81610440 ffffffff810408ff [ 3123.062290] 0000000000012e80 ffff88035f433fd8 ffff88035f433fd8 ffff8804289d07b0 [ 3123.062293] 0000000000000246 ffff88034bda8068 ffff8800ba5a39e8 ffff88035f433740 [ 3123.062295] Call Trace: [ 3123.062302] [] ? detach_if_pending+0x18/0x6c [ 3123.062331] [] ? wait_current_trans.isra.30+0xbc/0x117 [btrfs] [ 3123.062334] [] ? wake_up_atomic_t+0x22/0x22 [ 3123.062346] [] ? start_transaction+0x1d1/0x46b [btrfs] [ 3123.062359] [] ? btrfs_dirty_inode+0x25/0xa6 [btrfs] [ 3123.062362] [] ? file_update_time+0x95/0xb5 [ 3123.062374] [] ? btrfs_page_mkwrite+0x68/0x2bc [btrfs] [ 3123.062377] [] ? filemap_fault+0x1fa/0x36e [ 3123.062379] [] ? __do_fault+0x15b/0x360 [ 3123.062382] [] ? handle_mm_fault+0x22c/0x8aa [ 3123.062385] [] ? dev_hard_start_xmit+0x271/0x3ec [ 3123.062388] [] ? __do_page_fault+0x38d/0x3d7 [ 3123.062393] [] ? br_dev_queue_push_xmit+0x9d/0xa1 [bridge] [ 3123.062397] [] ? br_dev_xmit+0x1c3/0x1e0 [bridge] [ 3123.062400] [] ? update_group_power+0xb7/0x1b9 [ 3123.062403] [] ? cpumask_next_and+0x2a/0x3a [ 3123.062405] [] ? update_sd_lb_stats+0x1a3/0x35a [ 3123.062407] [] ? page_fault+0x22/0x30 [ 3123.062410] [] ? copy_user_generic_string+0x30/0x40 [ 3123.062413] [] ? memcpy_toiovec+0x2f/0x5c [ 3123.062417] [] ? skb_copy_datagram_iovec+0x76/0x20d [ 3123.062419] [] ? _raw_spin_lock_bh+0xe/0x1c [ 3123.062422] [] ? should_resched+0x5/0x23 [ 3123.062426] [] ? tcp_recvmsg+0x72e/0xaa3 [ 3123.062428] [] ? load_balance+0x12c/0x6b5 [ 3123.062431] [] ? inet_recvmsg+0x5a/0x6e [ 3123.062434] [] ? __switch_to+0x1b1/0x3c4 [ 3123.062437] [] ? sock_recvmsg+0x54/0x71 [ 3123.062440] [] ? ep_item_poll+0x16/0x1b [ 3123.062442] [] ? ep_pm_stay_awake+0xf/0xf [ 3123.062445] [] ? fget_light+0x6b/0x7c [ 3123.062447] [] ? SYSC_recvfrom+0xca/0x12e [ 3123.062449] [] ? try_to_wake_up+0x190/0x190 [ 3123.062452] [] ? fput+0xf/0x9d [ 3123.062454] [] ? SyS_epoll_wait+0x9c/0xc7 [ 3123.062457] [] ? system_call_fastpath+0x16/0x1b [ 3123.062462] INFO: task kworker/u16:0:21158 blocked for more than 120 seconds. [ 3123.062491] Not tainted 3.12.4 #1 [ 3123.062513] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 3123.062557] kworker/u16:0 D ffff88043fcd2e80 0 21158 2 0x00000000 [ 3123.062561] Workqueue: writeback bdi_writeback_workfn (flush-btrfs-1) [ 3123.062562] ffff88026a163830 0000000000000046 ffff88042f0c67b0 0000001000011210 [ 3123.062565] 0000000000012e80 ffff88027067bfd8 ffff88027067bfd8 ffff88026a163830 [ 3123.062567] 0000000000000246 ffff88034bda8068 ffff8800ba5a39e8 ffff88027067b750 [ 3123.062569] Call Trace: [ 3123.062581] [] ? wait_current_trans.isra.30+0xbc/0x117 [btrfs] [ 3123.062584] [] ? wake_up_atomic_t+0x22/0x22 [ 3123.062596] [] ? start_transaction+0x1d1/0x46b [btrfs] [ 3123.062608] [] ? run_delalloc_nocow+0x9c/0x752 [btrfs] [ 3123.062621] [] ? run_delalloc_range+0x64/0x333 [btrfs] [ 3123.062635] [] ? free_extent_state+0x12/0x21 [btrfs] [ 3123.062648] [] ? __extent_writepage+0x1e5/0x62a [btrfs] [ 3123.062659] [] ? btree_submit_bio_hook+0x7e/0xd7 [btrfs] [ 3123.062662] [] ? find_get_pages_tag+0x66/0x121 [ 3123.062675] [] ? extent_write_cache_pages.isra.23.constprop.47+0x14a/0x255 [btrfs] [ 3123.062688] [] ? extent_writepages+0x49/0x60 [btrfs] [ 3123.062700] [] ? btrfs_submit_direct+0x412/0x412 [btrfs] [ 3123.062703] [] ? __writeback_single_inode+0x6d/0x1e8 [ 3123.062705] [] ? writeback_sb_inodes+0x1f0/0x322 [ 3123.062707] [] ? __writeback_inodes_wb+0x69/0xab [ 3123.062709] [] ? wb_writeback+0x136/0x292 [ 3123.062712] [] ? __cache_free.isra.46+0x178/0x187 [ 3123.062714] [] ? bdi_writeback_workfn+0xc1/0x2fe [ 3123.062716] [] ? resched_task+0x35/0x5d [ 3123.062718] [] ? ttwu_do_wakeup+0xf/0xc1 [ 3123.062721] [] ? try_to_wake_up+0x17e/0x190 [ 3123.062723] [] ? process_one_work+0x191/0x294 [ 3123.062725] [] ? worker_thread+0x121/0x1e7 [ 3123.062726] [] ? rescuer_thread+0x269/0x269 [ 3123.062729] [] ? kthread+0x81/0x89 [ 3123.062731] [] ? __kthread_parkme+0x5d/0x5d [ 3123.062733] [] ? ret_from_fork+0x7c/0xb0 [ 3123.062736] [] ? __kthread_parkme+0x5d/0x5d These are repeated for several processes trying to do something. I have had no data losses, only availability issues during high load. The surest way to trigger these messages is for me to start a copy from my other local array while doing something like heavy torrenting at the same time. Smartd have not reported any disk issues and iostat -d only indicates a lot of disk activity at the limits of the drives with no drive seeminlig behaving any different than others (until the error hit, where the activity goes to zero) Mount options is default kernel 3.12.4 with compress=lzo. I have 16 GB ECC RAM and a Quad core Xeon CPU. I am running this on a 8 disk WD SE 4TB btrfs RAID10 system with a single snapshot. I have no expectations of btrfs delivering stellar performance during heavy IOPs load on ordinary 7200rpm drives, but I do expect it to just be slow until the load is removed, not more or less completely stall the entire server. The filesystem have used about 26TB of the available 29TB (real available data), and some of the files on it are heavily fragmented (around 100 000 extents at about 25GB) Regards, Hans-Kristian Bakke