提交 5825bea0 编写于 作者: D Dave Chinner 提交者: Darrick J. Wong

xfs: __percpu_counter_compare() inode count debug too expensive

- 21.92% __xfs_trans_commit
     - 21.62% xfs_log_commit_cil
	- 11.69% xfs_trans_unreserve_and_mod_sb
	   - 11.58% __percpu_counter_compare
	      - 11.45% __percpu_counter_sum
		 - 10.29% _raw_spin_lock_irqsave
		    - 10.28% do_raw_spin_lock
			 __pv_queued_spin_lock_slowpath

We debated just getting rid of it last time this came up and
there was no real objection to removing it. Now it's the biggest
scalability limitation for debug kernels even on smallish machines,
so let's just get rid of it.
Signed-off-by: NDave Chinner <dchinner@redhat.com>
Reviewed-by: NDarrick J. Wong <djwong@kernel.org>
Signed-off-by: NDarrick J. Wong <djwong@kernel.org>
上级 1fea323f
......@@ -618,19 +618,12 @@ xfs_trans_unreserve_and_mod_sb(
ASSERT(!error);
}
if (idelta) {
if (idelta)
percpu_counter_add_batch(&mp->m_icount, idelta,
XFS_ICOUNT_BATCH);
if (idelta < 0)
ASSERT(__percpu_counter_compare(&mp->m_icount, 0,
XFS_ICOUNT_BATCH) >= 0);
}
if (ifreedelta) {
if (ifreedelta)
percpu_counter_add(&mp->m_ifree, ifreedelta);
if (ifreedelta < 0)
ASSERT(percpu_counter_compare(&mp->m_ifree, 0) >= 0);
}
if (rtxdelta == 0 && !(tp->t_flags & XFS_TRANS_SB_DIRTY))
return;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册