|
Packit |
577717 |
#ifndef _LINUX_COMMON_H
|
|
Packit |
577717 |
#define _LINUX_COMMON_H
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define LINUX_VERSION(a,b,c) ( ((a&0xff)<<24) | ((b&0xff)<<16) | ((c&0xff) << 8))
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define min(x, y) ({ \
|
|
Packit |
577717 |
typeof(x) _min1 = (x); \
|
|
Packit |
577717 |
typeof(y) _min2 = (y); \
|
|
Packit |
577717 |
(void) (&_min1 == &_min2); \
|
|
Packit |
577717 |
_min1 < _min2 ? _min1 : _min2; })
|
|
Packit |
577717 |
|
|
Packit |
577717 |
static inline pid_t
|
|
Packit |
577717 |
mygettid( void )
|
|
Packit |
577717 |
{
|
|
Packit |
577717 |
#ifdef SYS_gettid
|
|
Packit |
577717 |
return syscall( SYS_gettid );
|
|
Packit |
577717 |
#elif defined(__NR_gettid)
|
|
Packit |
577717 |
return syscall( __NR_gettid );
|
|
Packit |
577717 |
#else
|
|
Packit |
577717 |
#error "cannot find gettid"
|
|
Packit |
577717 |
#endif
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#ifndef F_SETOWN_EX
|
|
Packit |
577717 |
#define F_SETOWN_EX 15
|
|
Packit |
577717 |
#define F_GETOWN_EX 16
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define F_OWNER_TID 0
|
|
Packit |
577717 |
#define F_OWNER_PID 1
|
|
Packit |
577717 |
#define F_OWNER_PGRP 2
|
|
Packit |
577717 |
|
|
Packit |
577717 |
struct f_owner_ex {
|
|
Packit |
577717 |
int type;
|
|
Packit |
577717 |
pid_t pid;
|
|
Packit |
577717 |
};
|
|
Packit |
577717 |
#endif
|
|
Packit |
577717 |
|
|
Packit |
577717 |
int _linux_detect_nmi_watchdog();
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#if HAVE_SCHED_GETCPU
|
|
Packit |
577717 |
#include <sched.h>
|
|
Packit |
577717 |
/* If possible, pick the processors the code is currently running on. */
|
|
Packit |
577717 |
#define _papi_getcpu() sched_getcpu()
|
|
Packit |
577717 |
#else
|
|
Packit |
577717 |
/* Just map to processor 0 if sched_getcpu() is not available. */
|
|
Packit |
577717 |
#define _papi_getcpu() 0
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#endif
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#endif
|