12 Apr 2011 16:09
um: this_cpu_cmpxchg16b_emu
Richard Weinberger <richard <at> nod.at>
2011-04-12 14:09:56 GMT
2011-04-12 14:09:56 GMT
Hi, This patch implements this_cpu_cmpxchg16b_emu() for UML. As I'm not an amd64 assembly guru I'm not sure whether the assembly part is correct. Can someone please review it? Especially I'm unsure which register have to be saved before each call to C functions. Thanks, //richard From 202b0efe024d7c0500e7c11f0aa105f7a1fafb9b Mon Sep 17 00:00:00 2001 From: Richard Weinberger <richard <at> nod.at> Date: Mon, 11 Apr 2011 19:22:38 +0200 Subject: [PATCH] um: Implement this_cpu_cmpxchg16b_emu() Commit 8a5ec0ba "Lockless (and preemptless) fastpaths for slub" makes use of this_cpu_cmpxchg_double() which needs this_cpu_cmpxchg16b_emu() on x86_64. User Mode Linux has to serve this function too. Reported-by: Sergei Trofimovich <slyich <at> gmail.com> Signed-off-by: Richard Weinberger <richard <at> nod.at> --- arch/um/sys-x86_64/Makefile | 2 +- arch/um/sys-x86_64/cmpxchg16b_emu.S | 72 ++++++++++++++++++++++++++++++++ arch/um/sys-x86_64/cmpxchg16b_helper.c | 22 ++++++++++ 3 files changed, 95 insertions(+), 1 deletions(-)(Continue reading)
RSS Feed