Re: [PATCH] use unlikely() for current_kernel_time() loop

From: Andi Kleen
Date: Thu Jun 08 2006 - 01:44:42 EST


On Thursday 08 June 2006 07:01, Andrew Morton wrote:
> On 08 Jun 2006 04:28:12 +0200
> Andi Kleen <ak@xxxxxxx> wrote:
>
> > Andreas Dilger <adilger@xxxxxxxxxxxxx> writes:
> >
> > > Hello,
> > > I just noticed this minor optimization. current_kernel_time() is called
> > > from current_fs_time() so it is used fairly often but it doesn't use
> > > unlikely(read_seqretry(&xtime_lock, seq)) as other users of xtime_lock do.
> > > Also removes extra whitespace on the empty line above.
> >
> > It would be better to put the unlikely into the read_seqretry I guess.
> >
>
> yup. But it'd be good to check that this actually causes the compiler to
> do the right thing, rather than simply ignoring it.

If it was put into a macro wrapper it should be safe enough.

>
> I'm not sure how one would do that though. I guess compare
> before-and-after assembly code, work out if "after" is better.

Nothing on x86-64 at least - it uses -fno-reorder-blocks by default.

-Andi

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/