On Tue, Mar 27, 2012 at 12:44:00PM -0400, Christoph Hellwig wrote: > Now that we all dirty metadata is tracked in the AIL, and except for few > special cases only written through it there is no point to keep the current > delayed buffers list and xfsbufd around. > > This series remove a few more of the remaining special cases and then > replaced the global delwri buffer list with a local on-stack one. The > main consumer is xfsaild, which is used more often now. > > Besides removing a lot of code this change reduce buffer cache lookups > on loaded systems from xfsaild because we can figure out that a buffer > already is under writeback entirely locally now. >From a quick set of tests, I can't see any significant degradation in IO patterns and performance under heavy load here with this patch set. it doesn't however, reduce the buffer cache lookups all that much on such workloads - about 10% at most - as most of the lookups are common from the directory and inode buffer modifications. Here's a sample profile: - 10.09% [kernel] [k] _xfs_buf_find - _xfs_buf_find - 99.57% xfs_buf_get - 99.35% xfs_buf_read - 99.87% xfs_trans_read_buf + 50.36% xfs_da_do_buf + 26.12% xfs_btree_read_buf_block.constprop.24 + 12.36% xfs_imap_to_bp.isra.9 + 10.73% xfs_read_agi This shows that 50% of the lookups from the directory code, 25% from the inode btree lookups, 12% from mapping inodes, and 10% from reading the AGI buffer during inode allocation. You know, I suspect that we could avoid almost all those AGI buffer lookups by moving to a similar in-core log and flush technique that the inodes use. We've already got all the information in the struct xfs_perag - rearranging it to have a "in-core on disk" structures for the AGI, AGF and AGFL would make a lot of the "select an AG" code much simpler than having to read and modify the AG buffers directly. It might even be possible to do such a change without needing to change the on-disk journal format for them... I think I'll put that on my list of stuff to do - right next to in-core unlinked inode lists.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs