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.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx