add/improve atomic yields for SSE2, ARM*, PowerPC#350
Conversation
adding clobber for ARM and preventing older 32 bits chips not supporting this instruction.
|
I'd like to encourage this to be merged: it fixed the armel build of SolveSpace on Debian, and we'd like to just update to a new upstream version rather than carrying this patch ourselves. |
|
Interesting. Is there any benchmark for the arm64 case (cpu usage, performance)? |
I don't have benchmarks, but the https://sources.debian.org/src/linux/5.10.9-1/arch/arm/include/asm/spinlock.h/?hl=36#L74 the arm64 definition of the
and the arm (32-bits) definition of the
|
|
true even tough bit_spin_lock, thus cpu_relax use yield on arm64 thus why I was curious about benefits (outcome might differ b/w mono vs multi thread context as well). Note : I genuinely hope your suggestions are beneficial, it is just to have some background. |
|
If nothing else, the commit distinguishing versions of ARM in the dev branch were needed to fix armel builds in Debian. Is there a timeline for an upcoming release from dev? |
|
There is one I think: Was intended to be: Diff for clarity: - (defined(__x86_64__) || defined(__i386__) || (defined(__arm__) || defined(__armel__) || defined(__ARMEL__) || defined(__aarch64__) || defined(__powerpc__) || defined(__ppc__) || defined(__PPC__))
+ (defined(__x86_64__) || defined(__i386__) || defined(__arm__) || defined(__armel__) || defined(__ARMEL__) || defined(__aarch64__) || defined(__powerpc__) || defined(__ppc__) || defined(__PPC__)) |
|
@rpavlik: I will merge this now into |
|
great, thanks! |
|
Thanks, all! |
No description provided.