Re: [PATCH 10/25] Unionfs: add un/likely conditionals on copyup ops

Kok, Auke
2007-09-26T04:33:18Z

Erez Zadok wrote:
> Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
> ---
> fs/unionfs/copyup.c | 102 +++++++++++++++++++++++++-------------------------
> 1 files changed, 51 insertions(+), 51 deletions(-)
>
> diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c
> index 23ac4c8..e3c5f15 100644
> --- a/fs/unionfs/copyup.c
> +++ b/fs/unionfs/copyup.c
> @@ -36,14 +36,14 @@ static int copyup_xattrs(struct dentry *old_lower_dentry,
>
> /* query the actual size of the xattr list */
> list_size = vfs_listxattr(old_lower_dentry, NULL, 0);
> - if (list_size <= 0) {
> + if (unlikely(list_size <= 0)) {

I've been told several times that adding these is almost always bogus - either it
messes up the CPU branch prediction or the compiler/CPU just does a lot better at
finding the right way without these hints.

Adding them as a blanket seems rather strange. Have you got any numbers that this
really improves performance?

Auke