#ifndef _INCLUDE_API_H
#define _INCLUDE_API_H
-#define _GNU_SOURCE
-#include "config.h"
-
/*
* common.h: Common Linux kernel-isms.
*
typedef pthread_t thread_id_t;
-#define NR_THREADS 128
+#define NR_THREADS 4096
#define __THREAD_ID_MAP_EMPTY ((thread_id_t) 0)
#define __THREAD_ID_MAP_WAITING ((thread_id_t) 1)
* timekeeping -- very crude -- should use MONOTONIC...
*/
+static inline
long long get_microseconds(void)
{
struct timeval tv;
struct { \
__typeof__(type) v \
__attribute__((__aligned__(CAA_CACHE_LINE_SIZE))); \
- } __per_thread_##name[NR_THREADS];
+ } __per_thread_##name[NR_THREADS]
#define DECLARE_PER_THREAD(type, name) extern DEFINE_PER_THREAD(type, name)
#define per_thread(name, thread) __per_thread_##name[thread].v