Re: [PATCH v2 0/3] xfs: Reduce spinlock contention in log space slowpath code

From: Dave Chinner
Date: Sun Aug 26 2018 - 19:09:20 EST

On Sun, Aug 26, 2018 at 04:53:12PM -0400, Waiman Long wrote:
> v1->v2:
> - For patch 1, remove wake_q_empty() & add task_in_wake_q().
> - Rewrite patch 2 after comments from Dave Chinner and break it down
> to 2 separate patches. Now the original xfs logic was kept. The
> patches just try to move the task wakeup calls to outside the
> spinlock.
> While running the AIM7 microbenchmark on a small xfs filesystem, it
> was found that there was a severe spinlock contention problem in the
> current XFS log space reservation code. To alleviate the problem, the

Again I'll ask: what is the performance when the log is made large
enough that your benchmark is *not hammering the slow path*?

i.e. does running "mkfs.xfs -l size=2000m ..." instead of using the
default tiny log on your tiny test filesystem make the problem
go away? Without that information, we have no idea what the slow
path impact on peformance actually is, and whether it is worth
persuing optimising slow path behaviour that very, very few
production environments see lock contention in....


Dave Chinner