Re: [PATCH] [RFC] xfs: work around unlikely() profiler glitch

From: Christoph Hellwig
Date: Wed Jan 25 2017 - 10:09:36 EST


On Wed, Jan 25, 2017 at 03:08:10PM +0100, Arnd Bergmann wrote:
> diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
> index d22f7930eb75..dca3ddd737d4 100644
> --- a/fs/xfs/libxfs/xfs_bmap.c
> +++ b/fs/xfs/libxfs/xfs_bmap.c
> @@ -3629,7 +3629,7 @@ xfs_bmap_btalloc(
> align = xfs_get_cowextsz_hint(ap->ip);
> else if (xfs_alloc_is_userdata(ap->datatype))
> align = xfs_get_extsz_hint(ap->ip);
> - if (unlikely(align)) {
> + if (unlikely_notrace(align)) {
> error = xfs_bmap_extsize_align(mp, &ap->got, &ap->prev,
> align, 0, ap->eof, 0, ap->conv,
> &ap->offset, &ap->length);

The unlikely calls on align in xfs_bmap_btalloc should simply be
removed. They aren't actually unlikely for many workloads. I have
a patch in my queue that I can expedite based on your report.