btrfs-cleaner hogs completely a single cpu in kernel space: spankyham:~ # top top - 20:11:09 up 1:23, 1 user, load average: 3,85, 4,44, 3,85 Tasks: 187 total, 2 running, 185 sleeping, 0 stopped, 0 zombie %Cpu0 : 0,0 us, 0,0 sy, 0,0 ni,100,0 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu1 : 0,0 us, 0,0 sy, 0,0 ni,100,0 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu2 : 0,0 us,100,0 sy, 0,0 ni, 0,0 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu3 : 0,0 us, 0,0 sy, 0,0 ni,100,0 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu4 : 0,0 us, 0,0 sy, 0,0 ni,100,0 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu5 : 0,0 us, 0,0 sy, 0,0 ni,100,0 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu6 : 0,0 us, 0,0 sy, 0,0 ni,100,0 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu7 : 0,0 us, 0,0 sy, 0,0 ni,100,0 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st KiB Mem: 16403976 total, 5765432 used, 10638544 free, 3340 buffers KiB Swap: 0 total, 0 used, 0 free. 4155444 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 409 root 20 0 0 0 0 R 99,67 0,000 38:52.67 btrfs-cleaner 1 root 20 0 37436 5632 4028 S 0,000 0,034 0:01.92 systemd 2 root 20 0 0 0 0 S 0,000 0,000 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0,000 0,000 0:00.00 ksoftirqd/0 5 root 0 -20 0 0 0 S 0,000 0,000 0:00.00 kworker/0:0H 7 root 20 0 0 0 0 S 0,000 0,000 0:00.67 rcu_sched 8 root 20 0 0 0 0 S 0,000 0,000 0:00.00 rcu_bh 9 root rt 0 0 0 0 S 0,000 0,000 0:00.18 migration/0 spankyham:~ # cat /proc/409/stack [<ffffffffa02de2f0>] __btrfs_find_all_roots+0xc0/0x130 [btrfs] [<ffffffffa02de3d0>] btrfs_find_all_roots+0x50/0x70 [btrfs] [<ffffffffa02e1fa0>] btrfs_qgroup_trace_extent_post+0x20/0x40 [btrfs] [<ffffffffa02e2216>] btrfs_qgroup_trace_leaf_items+0x116/0x140 [btrfs] [<ffffffffa02e23fc>] btrfs_qgroup_trace_subtree+0x1bc/0x340 [btrfs] [<ffffffffa025ed03>] do_walk_down+0x363/0x540 [btrfs] [<ffffffffa025dc6d>] walk_down_proc+0x2ad/0x2e0 [btrfs] [<ffffffffa025ef99>] walk_down_tree+0xb9/0xf0 [btrfs] [<ffffffffa02615b4>] btrfs_drop_snapshot+0x384/0x800 [btrfs] [<ffffffffa02d372b>] btrfs_kill_all_delayed_nodes+0x4b/0x100 [btrfs] [<ffffffffa0278af5>] btrfs_clean_one_deleted_snapshot+0xb5/0x110 [btrfs] [<ffffffffa02708b8>] cleaner_kthread+0x1a8/0x230 [btrfs] [<ffffffffa0270710>] cleaner_kthread+0x0/0x230 [btrfs] [<ffffffff8109d3d8>] kthread+0xc8/0xe0 [<ffffffff8109d310>] kthread+0x0/0xe0 [<ffffffff8160b2cf>] ret_from_fork+0x3f/0x70 [<ffffffff8109d310>] kthread+0x0/0xe0 [<ffffffffffffffff>] 0xffffffffffffffff