Re: xfs_fsr, sunit, and swidth

Dave Chinner
2013-03-31T01:22:43Z

On Fri, Mar 29, 2013 at 03:59:46PM -0400, Dave Hall wrote:
> Dave, Stan,
>
> Here is the link for perf top -U: http://pastebin.com/JYLXYWki.
> The ag report is at http://pastebin.com/VzziSa4L. Interestingly,
> the backups ran fast a couple times this week. Once under 9 hours.
> Today it looks like it's running long again.

12.38% [xfs] [k] xfs_btree_get_rec
11.65% [xfs] [k] _xfs_buf_find
11.29% [xfs] [k] xfs_btree_increment
7.88% [xfs] [k] xfs_inobt_get_rec
5.40% [kernel] [k] intel_idle
4.13% [xfs] [k] xfs_btree_get_block
4.09% [xfs] [k] xfs_dialloc
3.21% [xfs] [k] xfs_btree_readahead
2.00% [xfs] [k] xfs_btree_rec_offset
1.50% [xfs] [k] xfs_btree_rec_addr

Inode allocation searches, looking for an inode near to the parent
directory.

Whatthis indicates is that you have lots of sparsely allocated inode
chunks on disk. i.e. each 64 indoe chunk has some free inodes in it,
and some used inodes. This is Likely due to random removal of inodes
as you delete old backups and link counts drop to zero. Because we
only index inodes on "allocated chunks", finding a chunk that has a
free inode can be like finding a needle in a haystack. There are
heuristics used to stop searches from consuming too much CPU, but it
still can be quite slow when you repeatedly hit those paths....

I don't have an answer that will magically speed things up for
you right now...

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com