On Tue, May 12, 2020 at 01:14:23AM -0700, Christoph Hellwig wrote: > I'm surprised the difference is that big. The moves look obviously > fine, but why do you put the precalculated fields in the middle > of struct xfs_mount instead of at the end? Just because it was the minimum to move about and it clearly demonstrated the damage the contended cacheline was doing to performance of code accessing read-only variables. Really, there's a lot in the xfs_mount that might well be read only that I didn't consider. I'm thinking that most of the pointers to structures are read only (e.g. the log, ailp, buftargs, etc) as they do not change for the life of the structure. I don't really have the time to dig into this real deep (this is a quick, interesting diversion!) so I did the 99-percenter and moved on... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx