/* * Copyright © 2009 inria. All rights reserved. * Copyright © 2009 Université Bordeaux * See COPYING in top-level directory. */ #ifndef HWLOC_PORT_HPUX_SYS_MPCTL_H #define HWLOC_PORT_HPUX_SYS_MPCTL_H typedef int spu_t, ldom_t, pthread_spu_t, pthread_ldom_t; typedef enum mpc_request { MPC_GETNUMSPUS, MPC_GETFIRSTSPU, MPC_GETNEXTSPU, MPC_GETNUMSPUS_SYS, MPC_GETFIRSTSPU_SYS, MPC_GETNEXTSPU_SYS, MPC_GETCURRENTSTSPU, MPC_SETPROCESS, MPC_SETPROCESS_FORCE, MPC_SETLWP, MPC_SETLWP_FORCE, MPC_SETLWP_UP, MPC_SETLDOM, MPC_SETLWPLDOM, MPC_GETNUMLDOMS, MPC_GETFIRSTLDOM, MPC_GETNEXTLDOM, MPC_GETNUMLDOMS_SYS, MPC_GETFIRSTLDOM_SYS, MPC_GETNEXTLDOM_SYS, MPC_SPUTOLDOM, MPC_LDOMSPUS, MPC_LDOMSPUS_SYS, MPC_GETPROCESS_BINDVALUE, MPC_GETLWP_BINDVALUE } mpc_request_t; #define MPC_SPUFLOAT 0 #define MPC_LDOMFLOAT 1 #define MPC_SELFPID 2 #define MPC_SELFLWPPID 3 extern int mpctl(mpc_request_t, spu_t, ...); #define _SC_CCNUMA_SUPPORT 0 #define _SC_PSET_SUPPORT 1 int pthread_processor_bind_np(int request, pthread_spu_t *answer, pthread_spu_t spu, pthread_t tid); int pthread_ldom_bind_np(pthread_ldom_t *answer, pthread_ldom_t ldom, pthread_t tid); #define PTHREAD_SELFTID_NP 0 #define PTHREAD_LDOMFLOAT_NP 0 #define PTHREAD_SPUFLOAT_NP 0 #define PTHREAD_BIND_ADVISORY_NP 0 #define PTHREAD_BIND_FORCED_NP 1 #endif /* HWLOC_PORT_HPUX_SYS_MPCTL_H */