Messages in this thread | | | Date | Thu, 3 Jul 2014 17:56:44 +1000 | From | Dave Chinner <> | Subject | Re: [regression, 3.16-rc] rwsem: optimistic spinning causing performance degradation |
| |
On Thu, Jul 03, 2014 at 09:38:52AM +0200, Peter Zijlstra wrote: > On Thu, Jul 03, 2014 at 03:39:11PM +1000, Dave Chinner wrote: > > There's another regression with the optimisitic spinning in rwsems > > as well: it increases the size of the struct rw_semaphore by 16 > > bytes. That has increased the size of the struct xfs_inode by 32 > > bytes. > > > > That's pretty damn significant - it's no uncommon to see machines > > with tens of millions of cached XFS inodes, so increasing the size > > of the inode by 4% is actually very significant. That's enough to go > > from having a well balanced workload to not being able to fit the > > working set of inodes in memory. > > > > Filesystem developers will do almost anything to remove a few bytes > > from the struct inode because inode cache footprint is extremely > > important for performance. We also tend to get upset and > > unreasonable when other people undo that hard work by making changes > > that bloat the generic structures embedded in the inode > > structures.... > > Jason Low actually did a patch, yesterday, to shrink rwsem back to its > old size (on 64bit).
That's good to know. Thanks, Peter.
Cheers,
Dave. -- Dave Chinner david@fromorbit.com
| |