Re: [PATCH 5/5] xfs: reverse search directory freespace indexes

Dave Chinner
2019-08-29T09:14:36Z

On Thu, Aug 29, 2019 at 01:23:10AM -0700, Christoph Hellwig wrote:
> On Thu, Aug 29, 2019 at 04:30:42PM +1000, Dave Chinner wrote:
> > create time(sec) / rate (files/s)
> > File count vanilla Prev commit Patched
> > 10k 0.41 / 24.3k 0.42 / 23.8k 0.41 / 24.3k
> > 20k 0.74 / 27.0k 0.76 / 26.3k 0.75 / 26.7k
> > 100k 3.81 / 26.4k 3.47 / 28.8k 3.27 / 30.6k
> > 200k 8.58 / 23.3k 7.19 / 27.8k 6.71 / 29.8k
> > 1M 85.69 / 11.7k 48.53 / 20.6k 37.67 / 26.5k
> > 2M 280.31 / 7.1k 130.14 / 15.3k 79.55 / 25.2k
> > 10M 3913.26 / 2.5k 552.89 / 18.1k
>
> Impressive!

Yeah, i think the drop-off in performance at 10M inodes is caused
by running out of RAM at about 6M inodes, and so there's extra CPU
time spent in direct memory reclaim after than so the single
threaded create performance is lower from as a result.

> > Signed-Off-By: Dave Chinner <dchinner@redhat.com>
>
> FYI, the Off here should be all lower case. Patch 2 actually has the
> same issue, but I only noticed it here.

Yeah, 3 of 5 patches are like that. No idea how - I use macros for
all these sobs and rvbs and they all use lower case....

> > @@ -1781,6 +1782,9 @@ xfs_dir2_node_find_freeblk(
> > */
> > ifbno = fblk->blkno;
> > fbno = ifbno;
> > + xfs_trans_brelse(tp, fbp);
> > + fbp = NULL;
> > + fblk->bp = NULL;
>
> Hmm. Doesn't this actually belong into the previous patch?

Yup, I'll move them.

-Dave.

--
Dave Chinner
david@fromorbit.com