X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Fapi_x86.h;h=eba0613d45682206c246a88c2bf7a38a824c9915;hb=d8540fc53386cd7ff270085aca621e32772832ba;hp=77d86a13a0208b5db189a6c17add55c92e262132;hpb=63ff4873e046ba582d20e79ebff16ee7da2aa92f;p=urcu.git diff --git a/tests/api_x86.h b/tests/api_x86.h index 77d86a1..eba0613 100644 --- a/tests/api_x86.h +++ b/tests/api_x86.h @@ -1,7 +1,10 @@ /* MECHANICALLY GENERATED, DO NOT EDIT!!! */ +#ifndef _INCLUDE_API_H #define _INCLUDE_API_H +#include "../config.h" + /* * common.h: Common Linux kernel-isms. * @@ -25,6 +28,8 @@ * to redistribute under later versions of GPL might not be available. */ +#include + #ifndef __always_inline #define __always_inline inline #endif @@ -71,7 +76,7 @@ * Machine parameters. */ -#define CACHE_LINE_SIZE 64 +/* #define CACHE_LINE_SIZE 64 */ #define ____cacheline_internodealigned_in_smp \ __attribute__((__aligned__(1 << 6))) @@ -359,7 +364,7 @@ __asm__ __volatile__(LOCK_PREFIX "orl %0,%1" \ */ #ifndef CACHE_LINE_SIZE -#define CACHE_LINE_SIZE 128 +/* #define CACHE_LINE_SIZE 128 */ #endif /* #ifndef CACHE_LINE_SIZE */ /* @@ -519,13 +524,25 @@ static void wait_all_threads(void) } } +#ifndef HAVE_CPU_SET_T +typedef unsigned long cpu_set_t; +# define CPU_ZERO(cpuset) do { *(cpuset) = 0; } while(0) +# define CPU_SET(cpu, cpuset) do { *(cpuset) |= (1UL << (cpu)); } while(0) +#endif + static void run_on(int cpu) { +#if HAVE_SCHED_SETAFFINITY cpu_set_t mask; CPU_ZERO(&mask); CPU_SET(cpu, &mask); +#if SCHED_SETAFFINITY_ARGS == 2 + sched_setaffinity(0, &mask); +#else sched_setaffinity(0, sizeof(mask), &mask); +#endif +#endif /* HAVE_SCHED_SETAFFINITY */ } /* @@ -1391,3 +1408,5 @@ static inline void hlist_move_list(struct hlist_head *old, pos = n) #endif + +#endif