Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stack trace when running eix-sync #2058

Closed
prometheanfire opened this issue Jan 17, 2014 · 2 comments
Closed

Stack trace when running eix-sync #2058

prometheanfire opened this issue Jan 17, 2014 · 2 comments

Comments

@prometheanfire
Copy link
Contributor

This downloads a tarball, checks it with gpg, then untars and syncs it with /usr/portage

INFO: rcu_sched detected stall on CPU 0 (t=6000 jiffies)
Pid: 4018, comm: zfs_iput_taskq/ Not tainted 3.2.52-hardened #8
Call Trace:
 <IRQ>  [<ffffffff810d9747>] __rcu_pending+0x83/0x32d
 [<ffffffff810da13f>] rcu_check_callbacks+0x81/0xb9
 [<ffffffff8108d69f>] update_process_times+0x3b/0x73
 [<ffffffff810ac14b>] tick_sched_timer+0x67/0x8d
 [<ffffffff810a0fed>] __run_hrtimer.isra.28+0x5a/0xb9
 [<ffffffff810a167c>] hrtimer_interrupt+0xd2/0x1b8
 [<ffffffff810a15aa>] ? hrtimer_get_next_event+0xb3/0xb3
 [<ffffffff810522ad>] smp_apic_timer_interrupt+0x9b/0xb8
 [<ffffffff8178570d>] apic_timer_interrupt+0x7d/0x90
 <EOI>  [<ffffffff8178312d>] ? __mutex_lock_slowpath+0x20a/0x228
 [<ffffffff8178315c>] mutex_lock+0x11/0x28
 [<ffffffff811a991d>] dnode_hold_impl+0x329/0x4d3
 [<ffffffff811a9af8>] dnode_hold+0x31/0x3e
 [<ffffffff8119ac14>] dmu_buf_hold+0x56/0x192
 [<ffffffff811e7f8f>] zap_get_leaf_byblk+0x46/0x25c
 [<ffffffff81193a5a>] ? dbuf_rele_and_unlock+0x1d4/0x1df
 [<ffffffff811e820e>] zap_deref_leaf+0x69/0x7c
 [<ffffffff811e9c5c>] fzap_cursor_retrieve+0x7e/0x221
 [<ffffffff811ec9ab>] zap_cursor_retrieve+0xc2/0x236
 [<ffffffff81193e76>] ? dbuf_rele+0x74/0x86
 [<ffffffff811e8946>] ? zap_put_leaf+0x57/0xac
 [<ffffffff811f54c1>] zfs_unlinked_drain+0xc8/0xea
 [<ffffffff81119c9d>] ? free_block+0x42/0x191
 [<ffffffff8177aba0>] ? cache_flusharray+0x9e/0xb1
 [<ffffffff81784383>] ? retint_restore_args+0x6/0xd
 [<ffffffff81073dd8>] ? __wake_up+0x42/0x51
 [<ffffffff811266bf>] taskq_thread+0x1e6/0x308
 [<ffffffff81078474>] ? try_to_wake_up+0x218/0x218
 [<ffffffff811264d9>] ? task_done+0xa1/0xa1
 [<ffffffff8109cde7>] kthread+0x8b/0x93
 [<ffffffff81787109>] kernel_thread_helper+0x9/0x20
 [<ffffffff81784383>] ? retint_restore_args+0x6/0xd
 [<ffffffff8109cd5c>] ? kthread_worker_fn+0x144/0x144
 [<ffffffff81787100>] ? gs_change+0x1b/0x1b
@dweeezil
Copy link
Contributor

What version of zfs are you running? Do the some/most/all of the files have xattrs?

@prometheanfire
Copy link
Contributor Author

This is the last commit (built off of master) and yes, they have xattrs (selinux).

11b9ec2

I've found that in general using selinux on zfs stresses it to the breaking point...

ryao added a commit to ryao/zfs that referenced this issue Jun 20, 2014
This reverts commit 7973e46. That had
been intended to workaround a deadlock issue involving zfs_zget(), which
was fixed by 6f9548c. The workaround
had the side effect of causing zfs_zinactive() to cause excessive cpu
utilization in zfs_iput_taskq by queuing an iteration of all objects in
a dataset on every unlink on a directory that had extended attributes.
That resulted in many issue reports about iput_taskq spinning. Since the
original rationale for the change is no longer valid, we can safely
revert it to resolve all of those issue reports.

Conflicts:
	module/zfs/zfs_dir.c

Closes:
	openzfs#457
	openzfs#2058
	openzfs#2128
	openzfs#2240
ryao added a commit to ryao/zfs that referenced this issue Jun 27, 2014
This reverts commit 7973e46. That had
been intended to workaround a deadlock issue involving zfs_zget(), which
was fixed by 6f9548c. The workaround
had the side effect of causing zfs_zinactive() to cause excessive cpu
utilization in zfs_iput_taskq by queuing an iteration of all objects in
a dataset on every unlink on a directory that had extended attributes.
That resulted in many issue reports about iput_taskq spinning. Since the
original rationale for the change is no longer valid, we can safely
revert it to resolve all of those issue reports.

Conflicts:
	module/zfs/zfs_dir.c

Closes:
	openzfs#457
	openzfs#2058
	openzfs#2128
	openzfs#2240
behlendorf added a commit to behlendorf/zfs that referenced this issue Aug 5, 2014
This reverts commit 7973e46 which brings the basic flow of the
code back inline with the other ZFS implementations.  This was
possible due to the work done in these in previous commits.

e89260a Directory xattr znodes hold a reference on their parent
26cb948 Avoid 128K kmem allocations in mzap_upgrade()
4acaaf7 Add zfs_iput_async() interface

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs#2408
Issue openzfs#457
Issue openzfs#2058
Issue openzfs#2128
Issue openzfs#2240
behlendorf added a commit to behlendorf/zfs that referenced this issue Aug 8, 2014
This reverts commit 7973e46 which brings the basic flow of the
code back in line with the other ZFS implementations.  This
was possible due to the following related changes.

e89260a Directory xattr znodes hold a reference on their parent
6f9548c Fix deadlock in zfs_zget()
26cb948 Avoid 128K kmem allocations in mzap_upgrade()
4acaaf7 Add zfs_iput_async() interface

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs#457
Issue openzfs#2058
Issue openzfs#2128
Issue openzfs#2240
behlendorf added a commit to behlendorf/zfs that referenced this issue Aug 8, 2014
This reverts commit 7973e46 which brings the basic flow of the
code back in line with the other ZFS implementations.  This
was possible due to the following related changes.

e89260a Directory xattr znodes hold a reference on their parent
6f9548c Fix deadlock in zfs_zget()
ca043ca Add zfs_iput_async() interface
dd2a794 Avoid 128K kmem allocations in mzap_upgrade()

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs#457
Issue openzfs#2058
Issue openzfs#2128
Issue openzfs#2240
ryao pushed a commit to ryao/zfs that referenced this issue Aug 11, 2014
This reverts commit 7973e46 which brings the basic flow of the
code back in line with the other ZFS implementations.  This
was possible due to the following related changes.

e89260a Directory xattr znodes hold a reference on their parent
6f9548c Fix deadlock in zfs_zget()
ca043ca Add zfs_iput_async() interface
dd2a794 Avoid 128K kmem allocations in mzap_upgrade()

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs#457
Issue openzfs#2058
Issue openzfs#2128
Issue openzfs#2240
ryao pushed a commit to ryao/zfs that referenced this issue Oct 8, 2014
This reverts commit 7973e46 which brings the basic flow of the
code back in line with the other ZFS implementations.  This
was possible due to the following related changes.

e89260a Directory xattr znodes hold a reference on their parent
6f9548c Fix deadlock in zfs_zget()
ca043ca Add zfs_iput_async() interface
dd2a794 Avoid 128K kmem allocations in mzap_upgrade()

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs#457
Issue openzfs#2058
Issue openzfs#2128
Issue openzfs#2240
@behlendorf behlendorf modified the milestone: 0.6.6 Nov 8, 2014
ryao pushed a commit to ryao/zfs that referenced this issue Nov 29, 2014
This reverts commit 7973e46 which brings the basic flow of the
code back in line with the other ZFS implementations.  This
was possible due to the following related changes.

e89260a Directory xattr znodes hold a reference on their parent
6f9548c Fix deadlock in zfs_zget()
0a50679 Add zfs_iput_async() interface
4dd1893 Avoid 128K kmem allocations in mzap_upgrade()

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Richard Yao <[email protected]>
Closes openzfs#457
Closes openzfs#2058
Closes openzfs#2128
Closes openzfs#2240
behlendorf added a commit to behlendorf/zfs that referenced this issue Jun 9, 2015
This reverts commit 7973e46 which brings the basic flow of the
code back in line with the other ZFS implementations.  This
was possible due to the following related changes.

e89260a Directory xattr znodes hold a reference on their parent
6f9548c Fix deadlock in zfs_zget()
ca043ca Add zfs_iput_async() interface
dd2a794 Avoid 128K kmem allocations in mzap_upgrade()

Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Richard Yao <[email protected]>
Closes openzfs#457
Closes openzfs#2058
Closes openzfs#2128
Closes openzfs#2240
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants