Commit 6c7f938a authored by Mikael Ronstrom's avatar Mikael Ronstrom

Sparc prefetch patch

parent 772cdf00
...@@ -9,6 +9,10 @@ Created 1/20/1994 Heikki Tuuri ...@@ -9,6 +9,10 @@ Created 1/20/1994 Heikki Tuuri
#ifndef univ_i #ifndef univ_i
#define univ_i #define univ_i
#if ( defined(sun) || defined(__sun) )
# include <sun_prefetch.h>
#endif
#if (defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)) && !defined(MYSQL_SERVER) && !defined(__WIN__) #if (defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)) && !defined(MYSQL_SERVER) && !defined(__WIN__)
# undef __WIN__ # undef __WIN__
# define __WIN__ # define __WIN__
...@@ -274,6 +278,11 @@ it is read. */ ...@@ -274,6 +278,11 @@ it is read. */
/* Minimize cache-miss latency by moving data at addr into a cache before /* Minimize cache-miss latency by moving data at addr into a cache before
it is read or written. */ it is read or written. */
# define UNIV_PREFETCH_RW(addr) __builtin_prefetch(addr, 1, 3) # define UNIV_PREFETCH_RW(addr) __builtin_prefetch(addr, 1, 3)
#elif ( defined(sun) || defined(__sun) )
# define UNIV_EXPECT(expr,value) (expr)
# define UNIV_LIKELY_NULL(expr) (expr)
# define UNIV_PREFETCH_R(addr) sparc_prefetch_read_many(addr)
# define UNIV_PREFETCH_RW(addr) sparc_prefetch_write_many(addr)
#else #else
/* Dummy versions of the macros */ /* Dummy versions of the macros */
# define UNIV_EXPECT(expr,value) (expr) # define UNIV_EXPECT(expr,value) (expr)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment