Re: [tip:sched/urgent] x86: Provide an alternative() basedcmpxchg64()

From: Ingo Molnar
Date: Wed Sep 30 2009 - 16:58:37 EST



* tip-bot for Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:

> Commit-ID: e87aaa7b6d80474ec07a2d2be3f50ef574ffe36c
> Gitweb: http://git.kernel.org/tip/e87aaa7b6d80474ec07a2d2be3f50ef574ffe36c
> Author: Arjan van de Ven <arjan@xxxxxxxxxxxxx>
> AuthorDate: Wed, 30 Sep 2009 17:07:54 +0200
> Committer: Ingo Molnar <mingo@xxxxxxx>
> CommitDate: Wed, 30 Sep 2009 22:35:44 +0200
>
> x86: Provide an alternative() based cmpxchg64()
>
> cmpxchg64() today generates, to quote Linus, "barf bag" code.
>
> cmpxchg64() is about to get used in the scheduler to a bug there,
> but it's a prerequisite that cmpxchg64() first be made non-sucking.
>
> This patch turns cmpxchg64() into an efficient implementation that
> uses the alternative() mechanism to just use the raw instruction on
> all modern systens

The changelog above has 3 typos so i fixed that. The push will generate
the hopefully-final version of these patches.

Note, i slightly updated Linus's version of the old-CPU emu code with
Eric's micro-optimization.

Ingo
--
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/