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

Ingo Molnar
2009-09-30T20:58:28Z

* tip-bot for Arjan van de Ven <arjan@infradead.org> wrote:

> Commit-ID: e87aaa7b6d80474ec07a2d2be3f50ef574ffe36c
> Gitweb: http://git.kernel.org/tip/e87aaa7b6d80474ec07a2d2be3f50ef574ffe36c
> Author: Arjan van de Ven <arjan@infradead.org>
> AuthorDate: Wed, 30 Sep 2009 17:07:54 +0200
> Committer: Ingo Molnar <mingo@elte.hu>
> 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