A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Distinguish access to sender-side and receiver-side user data in smx_action_t.
[simgrid.git]
/
src
/
simix
/
smurf_private.h
diff --git
a/src/simix/smurf_private.h
b/src/simix/smurf_private.h
index
3a31142
..
4f0a7ab
100644
(file)
--- a/
src/simix/smurf_private.h
+++ b/
src/simix/smurf_private.h
@@
-50,9
+50,11
@@
typedef enum {
REQ_COMM_WAITANY,
REQ_COMM_WAIT,
REQ_COMM_TEST,
REQ_COMM_WAITANY,
REQ_COMM_WAIT,
REQ_COMM_TEST,
+ REQ_COMM_TESTANY,
REQ_COMM_GET_REMAINS,
REQ_COMM_GET_STATE,
REQ_COMM_GET_REMAINS,
REQ_COMM_GET_STATE,
- REQ_COMM_GET_DATA,
+ REQ_COMM_GET_SRC_DATA,
+ REQ_COMM_GET_DST_DATA,
REQ_COMM_GET_SRC_BUFF,
REQ_COMM_GET_DST_BUFF,
REQ_COMM_GET_SRC_BUFF_SIZE,
REQ_COMM_GET_SRC_BUFF,
REQ_COMM_GET_DST_BUFF,
REQ_COMM_GET_SRC_BUFF_SIZE,
@@
-61,6
+63,9
@@
typedef enum {
REQ_COMM_GET_DST_PROC,
#ifdef HAVE_LATENCY_BOUND_TRACKING
REQ_COMM_IS_LATENCY_BOUNDED,
REQ_COMM_GET_DST_PROC,
#ifdef HAVE_LATENCY_BOUND_TRACKING
REQ_COMM_IS_LATENCY_BOUNDED,
+#endif
+#ifdef HAVE_TRACING
+ REQ_SET_CATEGORY,
#endif
REQ_MUTEX_INIT,
REQ_MUTEX_DESTROY,
#endif
REQ_MUTEX_INIT,
REQ_MUTEX_DESTROY,
@@
-255,7
+260,7
@@
typedef struct s_smx_req {
const char* name;
smx_rdv_t result;
} rdv_get_by_name;
const char* name;
smx_rdv_t result;
} rdv_get_by_name;
-
+
struct {
smx_rdv_t rdv;
smx_host_t host;
struct {
smx_rdv_t rdv;
smx_host_t host;
@@
-266,21
+271,24
@@
typedef struct s_smx_req {
smx_rdv_t rdv;
smx_action_t result;
} rdv_get_head;
smx_rdv_t rdv;
smx_action_t result;
} rdv_get_head;
-
+
struct {
smx_rdv_t rdv;
double task_size;
double rate;
void *src_buff;
size_t src_buff_size;
struct {
smx_rdv_t rdv;
double task_size;
double rate;
void *src_buff;
size_t src_buff_size;
+ int (*match_fun)(void *, void *);
void *data;
void *data;
- smx_action_t result;
+ smx_action_t result;
} comm_isend;
struct {
smx_rdv_t rdv;
void *dst_buff;
size_t *dst_buff_size;
} comm_isend;
struct {
smx_rdv_t rdv;
void *dst_buff;
size_t *dst_buff_size;
+ int (*match_fun)(void *, void *);
+ void *data;
smx_action_t result;
} comm_irecv;
smx_action_t result;
} comm_irecv;
@@
-291,12
+299,12
@@
typedef struct s_smx_req {
struct {
smx_action_t comm;
} comm_cancel;
struct {
smx_action_t comm;
} comm_cancel;
-
+
struct {
xbt_dynar_t comms;
unsigned int result;
} comm_waitany;
struct {
xbt_dynar_t comms;
unsigned int result;
} comm_waitany;
-
+
struct {
smx_action_t comm;
double timeout;
struct {
smx_action_t comm;
double timeout;
@@
-307,46
+315,56
@@
typedef struct s_smx_req {
int result;
} comm_test;
int result;
} comm_test;
+ struct {
+ xbt_dynar_t comms;
+ int result;
+ } comm_testany;
+
struct {
smx_action_t comm;
double result;
} comm_get_remains;
struct {
smx_action_t comm;
double result;
} comm_get_remains;
-
+
struct {
smx_action_t comm;
e_smx_state_t result;
} comm_get_state;
struct {
smx_action_t comm;
e_smx_state_t result;
} comm_get_state;
-
+
struct {
smx_action_t comm;
struct {
smx_action_t comm;
- void *result;
- } comm_get_data;
-
+ void *result;
+ } comm_get_src_data;
+
+ struct {
+ smx_action_t comm;
+ void *result;
+ } comm_get_dst_data;
+
struct {
smx_action_t comm;
void *result;
} comm_get_src_buff;
struct {
smx_action_t comm;
void *result;
} comm_get_src_buff;
-
+
struct {
smx_action_t comm;
void *result;
} comm_get_dst_buff;
struct {
smx_action_t comm;
void *result;
} comm_get_dst_buff;
-
+
struct {
smx_action_t comm;
size_t result;
} comm_get_src_buff_size;
struct {
smx_action_t comm;
size_t result;
} comm_get_src_buff_size;
-
+
struct {
smx_action_t comm;
size_t result;
} comm_get_dst_buff_size;
struct {
smx_action_t comm;
size_t result;
} comm_get_dst_buff_size;
-
+
struct {
smx_action_t comm;
smx_process_t result;
} comm_get_src_proc;
struct {
smx_action_t comm;
smx_process_t result;
} comm_get_src_proc;
-
+
struct {
smx_action_t comm;
smx_process_t result;
struct {
smx_action_t comm;
smx_process_t result;
@@
-359,6
+377,13
@@
typedef struct s_smx_req {
} comm_is_latency_bounded;
#endif
} comm_is_latency_bounded;
#endif
+#ifdef HAVE_TRACING
+ struct {
+ smx_action_t action;
+ const char *category;
+ } set_category;
+#endif
+
struct {
smx_mutex_t result;
} mutex_init;
struct {
smx_mutex_t result;
} mutex_init;
@@
-450,7
+475,8
@@
smx_req_t SIMIX_request_pop(void);
void SIMIX_request_answer(smx_req_t);
void SIMIX_request_pre(smx_req_t);
void SIMIX_request_post(smx_action_t);
void SIMIX_request_answer(smx_req_t);
void SIMIX_request_pre(smx_req_t);
void SIMIX_request_post(smx_action_t);
-int SIMIX_request_isVisible(smx_req_t req);
-int SIMIX_request_isEnabled(smx_req_t req);
+int SIMIX_request_is_visible(smx_req_t req);
+int SIMIX_request_is_enabled(smx_req_t req);
+
#endif
#endif