-
#ifndef _INCLUDE_API_H
#define _INCLUDE_API_H
+#define _GNU_SOURCE
#include "../config.h"
/*
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Copyright (c) 2006 Paul E. McKenney, IBM.
*
* to redistribute under later versions of GPL might not be available.
*/
+#include <urcu/compiler.h>
#include <urcu/arch.h>
-
-#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
-#define BUILD_BUG_ON_ZERO(e) (sizeof(char[1 - 2 * !!(e)]) - 1)
+#include "cpuset.h"
/*
* Machine parameters.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Copyright (c) 2006 Paul E. McKenney, IBM.
*/
#include <errno.h>
#include <limits.h>
#include <sys/types.h>
-#define __USE_GNU
#include <pthread.h>
-#include <sched.h>
#include <sys/param.h>
/* #include "atomic.h" */
}
spin_lock(&__thread_id_map_mutex);
for (i = 0; i < NR_THREADS; i++) {
- if (__thread_id_map[i] == tid)
+ if (__thread_id_map[i] == tid) {
spin_unlock(&__thread_id_map_mutex);
return i;
+ }
}
spin_unlock(&__thread_id_map_mutex);
- fprintf(stderr, "smp_thread_id: Rogue thread, id: %d(%#x)\n",
- (int)tid, (int)tid);
+ fprintf(stderr, "smp_thread_id: Rogue thread, id: %lu(%#lx)\n",
+ (unsigned long) tid, (unsigned long) tid);
exit(-1);
}
break;
}
if (i >= NR_THREADS){
- fprintf(stderr, "wait_thread: bad tid = %d(%#x)\n",
- (int)tid, (int)tid);
+ fprintf(stderr, "wait_thread: bad tid = %lu(%#lx)\n",
+ (unsigned long)tid, (unsigned long)tid);
exit(-1);
}
if (pthread_join(tid, &vp) != 0) {
}
}
-#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