From: Magnus Hagander Date: Tue, 5 Jan 2010 11:06:28 +0000 (+0000) Subject: Use _mm_pause() for win64 spin_delay(), per note from Tsutomu Yamada. X-Git-Tag: REL9_0_ALPHA4~347 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ce92f8b4634b128c4e1090d26617a17fb73ae3d5;p=postgresql Use _mm_pause() for win64 spin_delay(), per note from Tsutomu Yamada. --- diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index c6edb7a5e9..4104cf6c4c 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -66,7 +66,7 @@ * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.170 2010/01/04 17:10:24 mha Exp $ + * $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.171 2010/01/05 11:06:28 mha Exp $ * *------------------------------------------------------------------------- */ @@ -837,13 +837,13 @@ typedef LONG slock_t; #define SPIN_DELAY() spin_delay() /* If using Visual C++ on Win64, inline assembly is unavailable. - * Use a __nop instrinsic instead of rep nop. + * Use a _mm_pause instrinsic instead of rep nop. */ #if defined(_WIN64) static __forceinline void spin_delay(void) { - __nop(); + _mm_pause(); } #else static __forceinline void